1 # $Id: Generic.mk,v 1.16 2020/06/29 14:34:42 sjg Exp $
4 # some reasonable defaults
5 .SUFFIXES: .out .a .ln .o .s .S .c ${CXX_SUFFIXES} .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}
54 OBJCFLAGS ?= ${CFLAGS}
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}
81 LINTFLAGS ?= -chapbxzF
87 COMPILE.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
88 LINK.p ?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
94 YACC.y ?= ${YACC} ${YFLAGS}
98 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
100 ${COMPILE.c} ${.IMPSRC}
102 ${COMPILE.c} ${.IMPSRC}
103 ${AR} ${ARFLAGS} $@ $*.o
106 ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
110 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
111 ${CXX_SUFFIXES:%=%.o}:
112 ${COMPILE.cc} ${.IMPSRC}
113 ${CXX_SUFFIXES:%=%.a}:
114 ${COMPILE.cc} ${.IMPSRC}
115 ${AR} ${ARFLAGS} $@ $*.o
120 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
122 ${COMPILE.f} ${.IMPSRC}
124 ${COMPILE.f} ${.IMPSRC}
125 ${AR} ${ARFLAGS} $@ $*.o
129 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
131 ${COMPILE.F} ${.IMPSRC}
133 ${COMPILE.F} ${.IMPSRC}
134 ${AR} ${ARFLAGS} $@ $*.o
138 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
140 ${COMPILE.r} ${.IMPSRC}
142 ${COMPILE.r} ${.IMPSRC}
143 ${AR} ${ARFLAGS} $@ $*.o
148 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
150 ${COMPILE.p} ${.IMPSRC}
152 ${COMPILE.p} ${.IMPSRC}
153 ${AR} ${ARFLAGS} $@ $*.o
158 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
160 ${COMPILE.s} ${.IMPSRC}
162 ${COMPILE.s} ${.IMPSRC}
163 ${AR} ${ARFLAGS} $@ $*.o
166 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
168 ${COMPILE.S} ${.IMPSRC}
170 ${COMPILE.S} ${.IMPSRC}
171 ${AR} ${ARFLAGS} $@ $*.o
177 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
181 mv lex.yy.c ${.TARGET}
184 ${COMPILE.c} -o ${.TARGET} lex.yy.c
190 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
194 mv y.tab.c ${.TARGET}
197 ${COMPILE.c} -o ${.TARGET} y.tab.c
203 cp ${.IMPSRC} ${.TARGET}