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