1 # $Id: Generic.mk,v 1.11 2010/09/24 05:59:53 sjg Exp $
4 # some reasonable defaults
5 .SUFFIXES: .out .a .ln .o .s .S .c .cc .cpp .cxx .C .F .f .r .y .l .cl .p .h
17 ${t:tu} := ${t:${M_whence}}
20 # need to make sure this is set
21 MACHINE_ARCH.${MACHINE} ?= ${MACHINE}
22 .if empty(MACHINE_ARCH)
23 MACHINE_ARCH = ${MACHINE_ARCH.${MACHINE}}
34 .if ${MACHINE_ARCH} == "sparc64"
37 COMPILE.s?= ${CC} ${AFLAGS} -c
38 LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS}
39 COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
40 LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
45 COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c
46 LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
50 COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
51 LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
55 COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
56 LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
64 COMPILE.f?= ${FC} ${FFLAGS} -c
65 LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS}
66 COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
67 LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
68 COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c
69 LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
75 LEX.l?= ${LEX} ${LFLAGS}
89 COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
90 LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
98 YACC.y?= ${YACC} ${YFLAGS}
102 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
104 ${COMPILE.c} ${.IMPSRC}
106 ${COMPILE.c} ${.IMPSRC}
107 ${AR} ${ARFLAGS} $@ $*.o
110 ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
114 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
115 .cc.o .cpp.o .cxx.o .C.o:
116 ${COMPILE.cc} ${.IMPSRC}
117 .cc.a .cpp.a .cxx.a .C.a:
118 ${COMPILE.cc} ${.IMPSRC}
119 ${AR} ${ARFLAGS} $@ $*.o
124 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
126 ${COMPILE.f} ${.IMPSRC}
128 ${COMPILE.f} ${.IMPSRC}
129 ${AR} ${ARFLAGS} $@ $*.o
133 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
135 ${COMPILE.F} ${.IMPSRC}
137 ${COMPILE.F} ${.IMPSRC}
138 ${AR} ${ARFLAGS} $@ $*.o
142 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
144 ${COMPILE.r} ${.IMPSRC}
146 ${COMPILE.r} ${.IMPSRC}
147 ${AR} ${ARFLAGS} $@ $*.o
152 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
154 ${COMPILE.p} ${.IMPSRC}
156 ${COMPILE.p} ${.IMPSRC}
157 ${AR} ${ARFLAGS} $@ $*.o
162 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
164 ${COMPILE.s} ${.IMPSRC}
166 ${COMPILE.s} ${.IMPSRC}
167 ${AR} ${ARFLAGS} $@ $*.o
170 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
172 ${COMPILE.S} ${.IMPSRC}
174 ${COMPILE.S} ${.IMPSRC}
175 ${AR} ${ARFLAGS} $@ $*.o
181 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
185 mv lex.yy.c ${.TARGET}
188 ${COMPILE.c} -o ${.TARGET} lex.yy.c
194 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
198 mv y.tab.c ${.TARGET}
201 ${COMPILE.c} -o ${.TARGET} y.tab.c
207 cp ${.IMPSRC} ${.TARGET}