don't bother resolving onbld python module deps
[unleashed.git] / share / mk / sys.mk
blobdca2a639e3a4acc3a1acbf9537f46f0ae8656a03
1 OS?= illumos
2 unix?= We run ${OS}.
4 CXX_SUFFIXES += .cc .cpp .cxx .C
5 CXX_SUFFIXES := ${CXX_SUFFIXES:O:u}
6 .SUFFIXES: .out .a .o .s .S .c ${CXX_SUFFIXES} .F .f .r .y .l .cl .p .h .sh .m4
8 .MAKE.MODE ?= normal
10 # some options we need to know early
11 OPTIONS_DEFAULT_NO += \
12 DIRDEPS_BUILD \
13 DIRDEPS_CACHE
15 OPTIONS_DEFAULT_DEPENDENT += \
16 AUTO_OBJ/DIRDEPS_BUILD \
17 META_MODE/DIRDEPS_BUILD \
18 STAGING/DIRDEPS_BUILD \
20 # if you want objdirs make them automatic
21 # and do it early before we compute .PATH
22 .if ${MK_AUTO_OBJ:Uno} == "yes" || ${MKOBJDIRS:Uno} == "auto"
23 .include <auto.obj.mk>
24 .endif
26 MANTARGET?= man
27 # MANTARGET=man causes MANDIR to contain share/man/man with mk-20160802
28 MANDIR?= /usr/share/man
29 BINGRP?= bin
30 STRIP_FLAG?=
32 .LIBS: .a
33 AR?= ar
34 ARFLAGS?= rl
35 LORDER?= lorder
36 TSORT?= tsort -q
38 DBG?= -g
39 PIPE?= -pipe
40 STATIC?= -Bstatic
42 AS?= gas
43 AFLAGS?= ${DBG}
44 COMPILE.s?= ${CC} ${AFLAGS} -c
45 LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS}
46 COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c
47 LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
49 CC?= gcc
50 CPP?= gcpp
51 CFLAGS?= -O2 ${PIPE} ${DBG}
52 COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c
53 LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
55 CXX?= g++
56 CXXFLAGS?= ${CFLAGS}
57 COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
58 LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
60 FC?= gfortran
61 FFLAGS?= -O
62 RFLAGS?=
63 COMPILE.f?= ${FC} ${FFLAGS} -c
64 LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS}
65 COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
66 LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
67 COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c
68 LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
70 LEX?= lex
71 LFLAGS?=
72 LEX.l?= ${LEX} ${LFLAGS}
74 LD?= ld
75 LDFLAGS?=
76 LD_X?=
77 LD_x?=
79 MAKE?= ${.MAKE}
81 NM?= nm
83 PC?= pc
84 PFLAGS?=
85 COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
86 LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
88 SHELL?= sh
90 SIZE?= size
92 YACC?= yacc
93 YFLAGS?= -d
94 YACC.y?= ${YACC} ${YFLAGS}
96 # C
97 .c:
98 ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
99 .c.o:
100 ${COMPILE.c} ${.IMPSRC}
101 .c.a:
102 ${COMPILE.c} ${.IMPSRC}
103 ${AR} ${ARFLAGS} $@ $*.o
104 rm -f $*.o
106 # C++
107 ${CXX_SUFFIXES}:
108 ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
109 ${CXX_SUFFIXES:%=%.o}:
110 ${COMPILE.cc} ${.IMPSRC}
111 ${CXX_SUFFIXES:%=%.a}:
112 ${COMPILE.cc} ${.IMPSRC}
113 ${AR} ${ARFLAGS} $@ $*.o
114 rm -f $*.o
116 # Fortran/Ratfor
118 ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
119 .f.o:
120 ${COMPILE.f} ${.IMPSRC}
121 .f.a:
122 ${COMPILE.f} ${.IMPSRC}
123 ${AR} ${ARFLAGS} $@ $*.o
124 rm -f $*.o
127 ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
128 .F.o:
129 ${COMPILE.F} ${.IMPSRC}
130 .F.a:
131 ${COMPILE.F} ${.IMPSRC}
132 ${AR} ${ARFLAGS} $@ $*.o
133 rm -f $*.o
136 ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
137 .r.o:
138 ${COMPILE.r} ${.IMPSRC}
139 .r.a:
140 ${COMPILE.r} ${.IMPSRC}
141 ${AR} ${ARFLAGS} $@ $*.o
142 rm -f $*.o
144 # Pascal
146 ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
147 .p.o:
148 ${COMPILE.p} ${.IMPSRC}
149 .p.a:
150 ${COMPILE.p} ${.IMPSRC}
151 ${AR} ${ARFLAGS} $@ $*.o
152 rm -f $*.o
154 # Assembly
156 ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
157 .s.o:
158 ${COMPILE.s} ${.IMPSRC}
159 .s.a:
160 ${COMPILE.s} ${.IMPSRC}
161 ${AR} ${ARFLAGS} $@ $*.o
162 rm -f $*.o
164 ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
165 .S.o:
166 ${COMPILE.S} ${.IMPSRC}
167 .S.a:
168 ${COMPILE.S} ${.IMPSRC}
169 ${AR} ${ARFLAGS} $@ $*.o
170 rm -f $*.o
172 # Lex
174 ${LEX.l} ${.IMPSRC}
175 ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
176 rm -f lex.yy.c
177 .l.c:
178 ${LEX.l} ${.IMPSRC}
179 mv lex.yy.c ${.TARGET}
180 .l.o:
181 ${LEX.l} ${.IMPSRC}
182 ${COMPILE.c} -o ${.TARGET} lex.yy.c
183 rm -f lex.yy.c
185 # Yacc
187 ${YACC.y} ${.IMPSRC}
188 ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
189 rm -f y.tab.c
190 .y.c:
191 ${YACC.y} ${.IMPSRC}
192 mv y.tab.c ${.TARGET}
193 .y.o:
194 ${YACC.y} ${.IMPSRC}
195 ${COMPILE.c} -o ${.TARGET} y.tab.c
196 rm -f y.tab.c
198 # Shell
199 .sh:
200 rm -f ${.TARGET}
201 cp ${.IMPSRC} ${.TARGET}