Annotation of src/share/mk/bsd.hostprog.mk, Revision 1.62
1.62 ! bouyer 1: # $NetBSD: bsd.hostprog.mk,v 1.61 2011/02/20 20:16:01 jmmv 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.61 jmmv 11: LIBATF_C?= /usr/lib/libatf-c.a
12: LIBATF_CXX?= /usr/lib/libatf-c++.a
1.47 gdamore 13: LIBBLUETOOTH?= /usr/lib/libbluetooth.a
1.1 wrstuden 14: LIBBZ2?= /usr/lib/libbz2.a
15: LIBC?= /usr/lib/libc.a
16: LIBC_PIC?= /usr/lib/libc_pic.a
1.51 christos 17: LIBC_SO?= /usr/lib/libc.so
1.1 wrstuden 18: LIBCOMPAT?= /usr/lib/libcompat.a
19: LIBCRYPT?= /usr/lib/libcrypt.a
20: LIBCURSES?= /usr/lib/libcurses.a
21: LIBDBM?= /usr/lib/libdbm.a
22: LIBDES?= /usr/lib/libdes.a
23: LIBEDIT?= /usr/lib/libedit.a
1.28 provos 24: LIBEVENT?= /usr/lib/libevent.a
1.53 joerg 25: LIBFETCH?= /usr/lib/libfetch.a
1.9 garbled 26: LIBFORM?= /usr/lib/libform.a
1.1 wrstuden 27: LIBGCC?= /usr/lib/libgcc.a
28: LIBGNUMALLOC?= /usr/lib/libgnumalloc.a
1.8 itojun 29: LIBINTL?= /usr/lib/libintl.a
1.1 wrstuden 30: LIBIPSEC?= /usr/lib/libipsec.a
31: LIBKVM?= /usr/lib/libkvm.a
32: LIBL?= /usr/lib/libl.a
1.58 joerg 33: LIBLZMA?= /usr/lib/liblzma.a
1.1 wrstuden 34: LIBM?= /usr/lib/libm.a
1.42 ross 35: LIBMAGIC?= /usr/lib/libmagic.a
1.4 blymn 36: LIBMENU?= /usr/lib/libmenu.a
1.1 wrstuden 37: LIBMP?= /usr/lib/libmp.a
38: LIBNTP?= /usr/lib/libntp.a
39: LIBOBJC?= /usr/lib/libobjc.a
1.52 pooka 40: LIBP2K?= /usr/lib/libp2k.a
1.1 wrstuden 41: LIBPC?= /usr/lib/libpc.a
42: LIBPCAP?= /usr/lib/libpcap.a
1.12 thorpej 43: LIBPCI?= /usr/lib/libpci.a
1.1 wrstuden 44: LIBPLOT?= /usr/lib/libplot.a
45: LIBPOSIX?= /usr/lib/libposix.a
1.49 pooka 46: LIBPUFFS?= /usr/lib/libpuffs.a
1.62 ! bouyer 47: LIBQUOTA?= /usr/lib/libquota.a
1.1 wrstuden 48: LIBRESOLV?= /usr/lib/libresolv.a
49: LIBRPCSVC?= /usr/lib/librpcsvc.a
1.52 pooka 50: LIBRUMP?= /usr/lib/librump.a
1.59 pooka 51: LIBRUMPCLIENT?= /usr/lib/librumpclient.a
1.54 pooka 52: LIBRUMPNET?= /usr/lib/librumpnet.a
1.52 pooka 53: LIBRUMPUSER?= /usr/lib/librumpuser.a
1.54 pooka 54: LIBRUMPVFS?= /usr/lib/librumpvfs.a
1.1 wrstuden 55: LIBSKEY?= /usr/lib/libskey.a
1.50 christos 56: LIBSSP?= /usr/lib/libssp.a
1.48 mrg 57: LIBSTDCXX?= /usr/lib/libstdc++.a
58: LIBSUPCXX?= /usr/lib/libsupc++.a
1.57 roy 59: LIBTERMINFO?= /usr/lib/libterminfo.a
1.1 wrstuden 60: LIBUTIL?= /usr/lib/libutil.a
61: LIBWRAP?= /usr/lib/libwrap.a
1.52 pooka 62: LIBUKFS?= /usr/lib/libukfs.a
1.1 wrstuden 63: LIBY?= /usr/lib/liby.a
64: LIBZ?= /usr/lib/libz.a
65:
1.52 pooka 66: ##### rump file system modules
67: LIBRUMPFS_CD9660FS?= /usr/lib/librumpfs_cd9660fs.a
68: LIBRUMPFS_EFS?= /usr/lib/librumpfs_efs.a
69: LIBRUMPFS_EXT2FS?= /usr/lib/librumpfs_ext2fs.a
70: LIBRUMPFS_FFS?= /usr/lib/librumpfs_ffs.a
71: LIBRUMPFS_HFS?= /usr/lib/librumpfs_hfs.a
72: LIBRUMPFS_LFS?= /usr/lib/librumpfs_lfs.a
73: LIBRUMPFS_MSDOSFS?= /usr/lib/librumpfs_msdosfs.a
74: LIBRUMPFS_NTFS?= /usr/lib/librumpfs_ntfs.a
75: LIBRUMPFS_SYSPUFFS?= /usr/lib/librumpfs_syspuffs.a
76: LIBRUMPFS_TMPFS?= /usr/lib/librumpfs_tmpfs.a
77: LIBRUMPFS_UDF?= /usr/lib/librumpfs_udf.a
78: LIBRUMPFS_UFS?= /usr/lib/librumpfs_ufs.a
79:
1.23 tv 80: HOST_MKDEP?= CC=${HOST_CC:Q} mkdep
1.36 dsl 81: MKDEP_SUFFIXES?= .lo .ln
1.20 tv 82:
83: # Override these:
84: INSTALL:= ${INSTALL:NSTRIP=*}
1.23 tv 85: MKDEP:= ${HOST_MKDEP}
1.18 tv 86:
1.39 lukem 87: .if ${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)
1.18 tv 88: OBJHOSTMACHINE= # set
89: .endif
1.17 tv 90:
91: ##### Build rules
1.45 jwise 92: .if defined(HOSTPROG_CXX)
93: HOSTPROG= ${HOSTPROG_CXX}
94: .endif
95:
1.1 wrstuden 96: .if defined(HOSTPROG)
97: SRCS?= ${HOSTPROG}.c
98:
1.43 lukem 99: _YHPSRCS= ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
100: DPSRCS+= ${_YHPSRCS}
101: CLEANFILES+= ${_YHPSRCS}
1.1 wrstuden 102:
103: .if !empty(SRCS:N*.h:N*.sh)
104: OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.lo/g}
105: LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
106: .endif
107:
108: .if defined(OBJS) && !empty(OBJS)
1.43 lukem 109: .NOPATH: ${OBJS} ${HOSTPROG} ${_YHPSRCS}
1.1 wrstuden 110:
1.32 lukem 111: ${OBJS} ${LOBJS}: ${DPSRCS}
112: ${HOSTPROG}: ${OBJS} ${DPADD}
1.37 lukem 113: ${_MKTARGET_LINK}
1.1 wrstuden 114: ${HOST_LINK.c} ${HOST_LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
115:
116: .endif # defined(OBJS) && !empty(OBJS)
117:
118: .if !defined(MAN)
119: MAN= ${HOSTPROG}.1
120: .endif # !defined(MAN)
121: .endif # defined(HOSTPROG)
122:
1.5 mycroft 123: realall: ${HOSTPROG}
1.1 wrstuden 124:
1.41 lukem 125: cleanprog: .PHONY
1.1 wrstuden 126: rm -f a.out [Ee]rrs mklog core *.core \
127: ${HOSTPROG} ${OBJS} ${LOBJS} ${CLEANFILES}
128:
129: beforedepend:
1.19 tv 130: CFLAGS:= ${HOST_CFLAGS}
1.60 joerg 131: CPPFLAGS:= ${HOST_CPPFLAGS:N-Wp,-iremap,*}
1.1 wrstuden 132:
133: lint: ${LOBJS}
134: .if defined(LOBJS) && !empty(LOBJS)
1.40 lukem 135: ${LINT} ${LINTFLAGS} ${LDFLAGS:C/-L[ ]*/-L/Wg:M-L*} ${LOBJS} ${LDADD}
1.1 wrstuden 136: .endif
137:
1.17 tv 138: ##### Pull in related .mk logic
1.55 apb 139: LINKSMODE?= ${BINMODE}
1.1 wrstuden 140: .include <bsd.man.mk>
141: .include <bsd.nls.mk>
142: .include <bsd.files.mk>
143: .include <bsd.inc.mk>
144: .include <bsd.links.mk>
145: .include <bsd.dep.mk>
146:
1.17 tv 147: ${TARGETS}: # ensure existence
1.44 jmc 148:
149: # Override YACC/LEX rules so nbtool_config.h can be forced as the 1st include
150: .l.c:
151: ${_MKTARGET_LEX}
152: ${LEX.l} -o${.TARGET} ${.IMPSRC}
153: echo '#if HAVE_NBTOOL_CONFIG_H' > ${.TARGET}.1
154: echo '#include "nbtool_config.h"' >> ${.TARGET}.1
155: echo '#endif' >> ${.TARGET}.1
156: cat ${.TARGET} >> ${.TARGET}.1
157: mv ${.TARGET}.1 ${.TARGET}
158: .y.c:
159: ${_MKTARGET_YACC}
160: ${YACC.y} -o ${.TARGET} ${.IMPSRC}
161: echo '#if HAVE_NBTOOL_CONFIG_H' > ${.TARGET}.1
162: echo '#include "nbtool_config.h"' >> ${.TARGET}.1
163: echo '#endif' >> ${.TARGET}.1
164: cat ${.TARGET} >> ${.TARGET}.1
165: mv ${.TARGET}.1 ${.TARGET}
CVSweb <webmaster@jp.NetBSD.org>