Annotation of src/share/mk/bsd.hostprog.mk, Revision 1.49
1.49 ! pooka 1: # $NetBSD: bsd.hostprog.mk,v 1.48 2006/10/09 08:32:11 mrg Exp $
1.1 wrstuden 2: # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
3:
1.17 tv 4: .include <bsd.init.mk>
1.19 tv 5: .include <bsd.sys.mk>
1.1 wrstuden 6:
1.17 tv 7: ##### Basic targets
1.11 tv 8: clean: cleanprog
1.1 wrstuden 9:
1.17 tv 10: ##### Default values
1.47 gdamore 11: LIBBLUETOOTH?= /usr/lib/libbluetooth.a
1.1 wrstuden 12: LIBBZ2?= /usr/lib/libbz2.a
13: LIBC?= /usr/lib/libc.a
14: LIBC_PIC?= /usr/lib/libc_pic.a
15: LIBCOMPAT?= /usr/lib/libcompat.a
16: LIBCRYPT?= /usr/lib/libcrypt.a
17: LIBCURSES?= /usr/lib/libcurses.a
18: LIBDBM?= /usr/lib/libdbm.a
19: LIBDES?= /usr/lib/libdes.a
20: LIBEDIT?= /usr/lib/libedit.a
1.28 provos 21: LIBEVENT?= /usr/lib/libevent.a
1.9 garbled 22: LIBFORM?= /usr/lib/libform.a
1.1 wrstuden 23: LIBGCC?= /usr/lib/libgcc.a
24: LIBGNUMALLOC?= /usr/lib/libgnumalloc.a
1.8 itojun 25: LIBINTL?= /usr/lib/libintl.a
1.1 wrstuden 26: LIBIPSEC?= /usr/lib/libipsec.a
27: LIBKVM?= /usr/lib/libkvm.a
28: LIBL?= /usr/lib/libl.a
29: LIBM?= /usr/lib/libm.a
1.42 ross 30: LIBMAGIC?= /usr/lib/libmagic.a
1.4 blymn 31: LIBMENU?= /usr/lib/libmenu.a
1.1 wrstuden 32: LIBMP?= /usr/lib/libmp.a
33: LIBNTP?= /usr/lib/libntp.a
34: LIBOBJC?= /usr/lib/libobjc.a
35: LIBPC?= /usr/lib/libpc.a
36: LIBPCAP?= /usr/lib/libpcap.a
1.12 thorpej 37: LIBPCI?= /usr/lib/libpci.a
1.1 wrstuden 38: LIBPLOT?= /usr/lib/libplot.a
39: LIBPOSIX?= /usr/lib/libposix.a
1.49 ! pooka 40: LIBPUFFS?= /usr/lib/libpuffs.a
1.1 wrstuden 41: LIBRESOLV?= /usr/lib/libresolv.a
42: LIBRPCSVC?= /usr/lib/librpcsvc.a
1.47 gdamore 43: LIBSDP?= /usr/lib/libsdp.a
1.1 wrstuden 44: LIBSKEY?= /usr/lib/libskey.a
1.48 mrg 45: LIBSTDCXX?= /usr/lib/libstdc++.a
46: LIBSUPCXX?= /usr/lib/libsupc++.a
1.1 wrstuden 47: LIBTERMCAP?= /usr/lib/libtermcap.a
48: LIBUTIL?= /usr/lib/libutil.a
49: LIBWRAP?= /usr/lib/libwrap.a
50: LIBY?= /usr/lib/liby.a
51: LIBZ?= /usr/lib/libz.a
52:
1.23 tv 53: HOST_MKDEP?= CC=${HOST_CC:Q} mkdep
1.36 dsl 54: MKDEP_SUFFIXES?= .lo .ln
1.20 tv 55:
56: # Override these:
57: INSTALL:= ${INSTALL:NSTRIP=*}
1.23 tv 58: MKDEP:= ${HOST_MKDEP}
1.18 tv 59:
1.39 lukem 60: .if ${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)
1.18 tv 61: OBJHOSTMACHINE= # set
62: .endif
1.17 tv 63:
64: ##### Build rules
1.45 jwise 65: .if defined(HOSTPROG_CXX)
66: HOSTPROG= ${HOSTPROG_CXX}
67: .endif
68:
1.1 wrstuden 69: .if defined(HOSTPROG)
70: SRCS?= ${HOSTPROG}.c
71:
1.43 lukem 72: _YHPSRCS= ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
73: DPSRCS+= ${_YHPSRCS}
74: CLEANFILES+= ${_YHPSRCS}
1.1 wrstuden 75:
76: .if !empty(SRCS:N*.h:N*.sh)
77: OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.lo/g}
78: LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
79: .endif
80:
81: .if defined(OBJS) && !empty(OBJS)
1.43 lukem 82: .NOPATH: ${OBJS} ${HOSTPROG} ${_YHPSRCS}
1.1 wrstuden 83:
1.32 lukem 84: ${OBJS} ${LOBJS}: ${DPSRCS}
85: ${HOSTPROG}: ${OBJS} ${DPADD}
1.37 lukem 86: ${_MKTARGET_LINK}
1.1 wrstuden 87: ${HOST_LINK.c} ${HOST_LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
88:
89: .endif # defined(OBJS) && !empty(OBJS)
90:
91: .if !defined(MAN)
92: MAN= ${HOSTPROG}.1
93: .endif # !defined(MAN)
94: .endif # defined(HOSTPROG)
95:
1.5 mycroft 96: realall: ${HOSTPROG}
1.1 wrstuden 97:
1.41 lukem 98: cleanprog: .PHONY
1.1 wrstuden 99: rm -f a.out [Ee]rrs mklog core *.core \
100: ${HOSTPROG} ${OBJS} ${LOBJS} ${CLEANFILES}
101:
102: beforedepend:
1.19 tv 103: CFLAGS:= ${HOST_CFLAGS}
104: CPPFLAGS:= ${HOST_CPPFLAGS}
1.1 wrstuden 105:
106: lint: ${LOBJS}
107: .if defined(LOBJS) && !empty(LOBJS)
1.40 lukem 108: ${LINT} ${LINTFLAGS} ${LDFLAGS:C/-L[ ]*/-L/Wg:M-L*} ${LOBJS} ${LDADD}
1.1 wrstuden 109: .endif
110:
1.17 tv 111: ##### Pull in related .mk logic
1.1 wrstuden 112: .include <bsd.man.mk>
113: .include <bsd.nls.mk>
114: .include <bsd.files.mk>
115: .include <bsd.inc.mk>
116: .include <bsd.links.mk>
117: .include <bsd.dep.mk>
118:
1.17 tv 119: ${TARGETS}: # ensure existence
1.44 jmc 120:
121: # Override YACC/LEX rules so nbtool_config.h can be forced as the 1st include
122: .l.c:
123: ${_MKTARGET_LEX}
124: ${LEX.l} -o${.TARGET} ${.IMPSRC}
125: echo '#if HAVE_NBTOOL_CONFIG_H' > ${.TARGET}.1
126: echo '#include "nbtool_config.h"' >> ${.TARGET}.1
127: echo '#endif' >> ${.TARGET}.1
128: cat ${.TARGET} >> ${.TARGET}.1
129: mv ${.TARGET}.1 ${.TARGET}
130: .y.c:
131: ${_MKTARGET_YACC}
132: ${YACC.y} -o ${.TARGET} ${.IMPSRC}
133: echo '#if HAVE_NBTOOL_CONFIG_H' > ${.TARGET}.1
134: echo '#include "nbtool_config.h"' >> ${.TARGET}.1
135: echo '#endif' >> ${.TARGET}.1
136: cat ${.TARGET} >> ${.TARGET}.1
137: mv ${.TARGET}.1 ${.TARGET}
CVSweb <webmaster@jp.NetBSD.org>