xref: /dflybsd-src/contrib/bmake/mk/sys/UnixWare.mk (revision ec1c3f3acbcc9eec2e3e83bf248a95cca926a503)
1 #	$Id: UnixWare.mk,v 1.10 2022/03/25 23:43:06 sjg Exp $
2 #	based on "Id: SunOS.5.sys.mk,v 1.6 2003/09/30 16:42:23 sjg Exp "
3 #	$NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $
4 #	@(#)sys.mk	5.11 (Berkeley) 3/13/91
5 
6 OS ?=		UnixWare
7 OS_DEF_FLAG ?= -DUNIXWARE
8 unix ?=		We run ${OS}.
9 ROOT_GROUP ?=	root
10 DEV_TOOLS_PREFIX ?= /usr/local
11 
12 # can't find one anywhere, so just stop the dependency
13 LIBCRT0 ?= /dev/null
14 
15 PATH ?= /usr/sbin:/usr/bin:/usr/ccs/bin:/usr/ccs/lib:/usr/ucb:${DEV_TOOLS_PREFIX}/bin
16 
17 .SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4
18 
19 .LIBS:		.a
20 
21 # no -X
22 LD_X=
23 LD_x=
24 AR ?=		ar
25 ARFLAGS ?=	r
26 RANLIB ?=	:
27 
28 AS ?=		as
29 AS_STDIN ?=	-
30 AFLAGS ?=
31 COMPILE.s ?=	${AS} ${AFLAGS}
32 LINK.s ?=	${CC} ${AFLAGS} ${LDFLAGS}
33 COMPILE.S ?=	${CC} ${AFLAGS} ${CPPFLAGS} -c
34 LINK.S ?=	${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
35 
36 # at least gcc 2.95 on UnixWare has no internal macro to identify the system
37 .if exists(${DEV_TOOLS_PREFIX}/bin/gcc)
38 CC ?=		gcc -pipe ${OS_DEF_FLAG}
39 DBG ?=		-O -g
40 STATIC ?=	-static
41 .else
42 CC ?=		cc
43 DBG ?=		-g
44 STATIC ?=	-Bstatic # XXX: don't know about UDK compilers
45 .endif
46 CFLAGS ?=	${DBG}
47 COMPILE.c ?=	${CC} ${CFLAGS} ${CPPFLAGS} -c
48 LINK.c ?=	${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
49 
50 .if exists(${DEV_TOOLS_PREFIX}/bin/g++)
51 CXX ?=		g++ ${OS_DEF_FLAG}
52 .else
53 CXX ?=		c++ # XXX: don't know about UDK compilers
54 .endif
55 CXXFLAGS ?=	${CFLAGS}
56 COMPILE.cc ?=	${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
57 LINK.cc ?=	${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
58 
59 .if exists(${DEV_TOOLS_PREFIX}/bin/cpp)
60 CPP ?=		cpp
61 .else
62 CPP ?=		/usr/ccs/lib/cpp
63 .endif
64 .if defined(DESTDIR)
65 CPPFLAGS+=	-nostdinc -idirafter ${DESTDIR}/usr/include
66 .endif
67 
68 MK_DEP ?=	mkdeps.sh -N
69 .if exists(${DEV_TOOLS_PREFIX}/bin/g77)
70 FC ?=		g77
71 .else
72 FC ?=		f77 # XXX: don't know about UDK compilers
73 .endif
74 FFLAGS ?=	-O
75 RFLAGS ?=
76 COMPILE.f ?=	${FC} ${FFLAGS} -c
77 LINK.f ?=	${FC} ${FFLAGS} ${LDFLAGS}
78 COMPILE.F ?=	${FC} ${FFLAGS} ${CPPFLAGS} -c
79 LINK.F ?=	${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
80 COMPILE.r ?=	${FC} ${FFLAGS} ${RFLAGS} -c
81 LINK.r ?=	${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
82 
83 INSTALL ?=	/usr/ucb/install # BSD install
84 
85 LEX ?=		lex
86 LFLAGS ?=
87 LEX.l ?=		${LEX} ${LFLAGS}
88 
89 LD ?=		ld
90 LDFLAGS ?=
91 
92 LIBC ?=		${DESTDIR}/usr/ccs/lib/libc.a
93 LIBCOMPAT ?=
94 LIBCRYPT ?=	${DESTDIR}/usr/lib/libcrypt.a
95 LIBCURSES ?=	${DESTDIR}/usr/ccs/lib/libcurses.a
96 LIBDBM ?=
97 LIBDES ?=
98 LIBEDIT ?=
99 LIBGCC ?=
100 LIBKDB ?=
101 LIBKRB ?=
102 LIBKVM ?=
103 LIBL ?=		${DESTDIR}/usr/ccs/lib/libl.a
104 LIBM ?=		${DESTDIR}/usr/ccs/lib/libm.a
105 LIBMP ?=
106 LIBPC ?=
107 LIBPCAP ?=
108 LIBPLOT ?=
109 LIBRESOLV ?=
110 LIBRPCSVC ?=	${DESTDIR}/usr/lib/librpcsvc.a
111 LIBSKEY ?=	${DESTDIR}/usr/lib/libskey.a
112 LIBTERMCAP ?=	${DESTDIR}/usr/ccs/lib/libtermcap.a
113 LIBUTIL ?=
114 LIBWRAP ?=
115 LIBY ?=		${DESTDIR}/usr/ccs/lib/liby.a
116 LIBZ ?=
117 
118 LINT ?=		lint
119 LINTFLAGS ?=	-pF
120 
121 LORDER ?=	lorder
122 
123 NM ?=		nm
124 
125 PC ?=		pc # XXX: UDK probably does not have pc
126 PFLAGS ?=
127 COMPILE.p ?=	${PC} ${PFLAGS} ${CPPFLAGS} -c
128 LINK.p ?=	${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
129 
130 SIZE ?=		size
131 
132 TSORT ?=		tsort
133 
134 .if exists(${DEV_TOOLS_PREFIX}/bin/bison)
135 YACC ?=		bison -y
136 .else
137 YACC ?=		yacc
138 .endif
139 YFLAGS ?=	-d
140 YACC.y ?=	${YACC} ${YFLAGS}
141 
142 # C
143 .c:
144 	${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
145 .c.o:
146 	${COMPILE.c} ${.IMPSRC}
147 .c.a:
148 	${COMPILE.c} ${.IMPSRC}
149 	${AR} ${ARFLAGS} $@ $*.o
150 	rm -f $*.o
151 
152 # C++
153 ${CXX_SUFFIXES}:
154 	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
155 ${CXX_SUFFIXES:%=%.o}:
156 	${COMPILE.cc} ${.IMPSRC}
157 ${CXX_SUFFIXES:%=%.a}:
158 	${COMPILE.cc} ${.IMPSRC}
159 	${AR} ${ARFLAGS} $@ $*.o
160 	rm -f $*.o
161 
162 # Fortran/Ratfor
163 .f:
164 	${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
165 .f.o:
166 	${COMPILE.f} ${.IMPSRC}
167 .f.a:
168 	${COMPILE.f} ${.IMPSRC}
169 	${AR} ${ARFLAGS} $@ $*.o
170 	rm -f $*.o
171 
172 .F:
173 	${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
174 .F.o:
175 	${COMPILE.F} ${.IMPSRC}
176 .F.a:
177 	${COMPILE.F} ${.IMPSRC}
178 	${AR} ${ARFLAGS} $@ $*.o
179 	rm -f $*.o
180 
181 .r:
182 	${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
183 .r.o:
184 	${COMPILE.r} ${.IMPSRC}
185 .r.a:
186 	${COMPILE.r} ${.IMPSRC}
187 	${AR} ${ARFLAGS} $@ $*.o
188 	rm -f $*.o
189 
190 # Pascal
191 .p:
192 	${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
193 .p.o:
194 	${COMPILE.p} ${.IMPSRC}
195 .p.a:
196 	${COMPILE.p} ${.IMPSRC}
197 	${AR} ${ARFLAGS} $@ $*.o
198 	rm -f $*.o
199 
200 # Assembly
201 .s:
202 	${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
203 .s.o:
204 	${COMPILE.s} ${.IMPSRC}
205 .s.a:
206 	${COMPILE.s} ${.IMPSRC}
207 	${AR} ${ARFLAGS} $@ $*.o
208 	rm -f $*.o
209 .S:
210 	${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
211 .S.o:
212 	${COMPILE.S} ${.IMPSRC}
213 .S.a:
214 	${COMPILE.S} ${.IMPSRC}
215 	${AR} ${ARFLAGS} $@ $*.o
216 	rm -f $*.o
217 
218 # Lex
219 .l:
220 	${LEX.l} ${.IMPSRC}
221 	${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
222 	rm -f lex.yy.c
223 .l.c:
224 	${LEX.l} ${.IMPSRC}
225 	mv lex.yy.c ${.TARGET}
226 .l.o:
227 	${LEX.l} ${.IMPSRC}
228 	${COMPILE.c} -o ${.TARGET} lex.yy.c
229 	rm -f lex.yy.c
230 
231 # Yacc
232 .y:
233 	${YACC.y} ${.IMPSRC}
234 	${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
235 	rm -f y.tab.c
236 .y.c:
237 	${YACC.y} ${.IMPSRC}
238 	mv y.tab.c ${.TARGET}
239 .y.o:
240 	${YACC.y} ${.IMPSRC}
241 	${COMPILE.c} -o ${.TARGET} y.tab.c
242 	rm -f y.tab.c
243 
244 # Shell
245 .sh:
246 	rm -f ${.TARGET}
247 	cp ${.IMPSRC} ${.TARGET}
248 	chmod a+x ${.TARGET}
249