1 # $Id: Generic.mk,v 1.12 2016/03/22 20:45:14 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}
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 ${CXX_SUFFIXES
:%=%.o
}:
116 ${COMPILE.
cc} ${.IMPSRC
}
117 ${CXX_SUFFIXES
:%=%.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
}