Makefile revision 241279
1241279Smarcel# This is a generated file, do NOT edit! 2241279Smarcel# See contrib/bmake/bsd.after-import.mk 3241279Smarcel# 4241279Smarcel# $FreeBSD: head/usr.bin/bmake/Makefile 241279 2012-10-06 19:19:21Z marcel $ 5241279Smarcel 6241279Smarcel.sinclude "Makefile.inc" 7241279Smarcel 8241279SmarcelSRCTOP?= ${.CURDIR:H:H} 9241279Smarcel 10241279Smarcel# look here first for config.h 11241279SmarcelCFLAGS+= -I${.CURDIR} 12241279Smarcel 13241279Smarcel# $NetBSD: Makefile,v 1.56 2012/05/30 21:54:23 sjg Exp $ 14241279Smarcel# @(#)Makefile 5.2 (Berkeley) 12/28/90 15241279Smarcel 16241279Smarcel# $Id: Makefile.in,v 1.170 2012/08/31 06:46:22 sjg Exp $ 17241279Smarcel 18241279SmarcelPROG?= ${.CURDIR:T} 19241279SmarcelSRCS= arch.c buf.c compat.c cond.c dir.c for.c hash.c job.c main.c \ 20241279Smarcel make.c parse.c str.c suff.c targ.c trace.c var.c util.c 21241279SmarcelSRCS+= strlist.c 22241279SmarcelSRCS+= make_malloc.c 23241279SmarcelSRCS+= lstAppend.c lstAtEnd.c lstAtFront.c lstClose.c lstConcat.c \ 24241279Smarcel lstDatum.c lstDeQueue.c lstDestroy.c lstDupl.c lstEnQueue.c \ 25241279Smarcel lstFind.c lstFindFrom.c lstFirst.c lstForEach.c lstForEachFrom.c \ 26241279Smarcel lstInit.c lstInsert.c lstIsAtEnd.c lstIsEmpty.c lstLast.c \ 27241279Smarcel lstMember.c lstNext.c lstOpen.c lstRemove.c lstReplace.c lstSucc.c 28241279SmarcelSRCS += lstPrev.c 29241279Smarcel 30241279Smarcel# you can use this Makefile if you have an earlier version of bmake. 31241279Smarcelprefix= /usr 32241279Smarcelsrcdir= ${SRCTOP}/contrib/bmake 33241279SmarcelCC?= gcc 34241279Smarcel 35241279Smarcel# Base version on src date 36241279SmarcelMAKE_VERSION= 20120831 37241279SmarcelDEFAULT_SYS_PATH = .../share/mk:/usr/share/mk 38241279Smarcel 39241279SmarcelCPPFLAGS+= 40241279SmarcelCFLAGS+= ${CPPFLAGS} 41241279SmarcelCFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" 42241279SmarcelCFLAGS+= -I. -I${srcdir} -DHAVE_CONFIG_H ${XDEFS} -DMAKE_NATIVE 43241279SmarcelCFLAGS+= ${CFLAGS_${.TARGET:T}} 44241279SmarcelCFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} 45241279SmarcelCOPTS.main.c+= "-DMAKE_VERSION=\"${MAKE_VERSION}\"" 46241279SmarcelLDFLAGS= 47241279SmarcelLIBOBJS= ${LIBOBJDIR}stresep$U.o 48241279SmarcelLDADD= 49241279Smarcel 50241279Smarcel.if !empty(LIBOBJS) 51241279SmarcelSRCS+= ${LIBOBJS:T:.o=.c} 52241279Smarcel.endif 53241279Smarcel 54241279SmarcelUSE_META = yes 55241279Smarcel.if ${USE_META} != "no" 56241279SmarcelSRCS+= meta.c 57241279SmarcelCPPFLAGS+= -DUSE_META 58241279SmarcelFILEMON_H ?= /usr/include/dev/filemon/filemon.h 59241279Smarcel.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" 60241279SmarcelCOPTS.meta.c += -DHAVE_FILEMON_H -I${FILEMON_H:H} 61241279Smarcel.endif 62241279Smarcel.endif 63241279Smarcel 64241279Smarcel.PATH: ${srcdir} 65241279Smarcel.PATH: ${srcdir}/lst.lib 66241279Smarcel 67241279SmarcelOS!= uname -s 68241279SmarcelARCH!= uname -p 2>/dev/null || uname -m 69241279Smarcel 70241279Smarcel# list of OS's which are derrived from BSD4.4 71241279SmarcelisBSD44= NetBSD FreeBSD OpenBSD DragonFly 72241279Smarcel 73241279Smarcel.if ${OS} == "NetBSD" 74241279Smarcel# Don't set these for anyone else since we don't know what the effect may be. 75241279Smarcel# On FreeBSD WARNS=2 sets a bunch of -W flags that make does not handle. 76241279SmarcelWFORMAT= 1 77241279SmarcelWARNS=4 78241279Smarcel.NOPATH: bmake.cat1 79241279Smarcel.if make(install) && exists(${DESTDIR}/usr/share/doc) 80241279SmarcelSUBDIR= PSD.doc 81241279Smarcel.endif 82241279Smarcel.endif 83241279Smarcel 84241279Smarcel.if empty(isBSD44:M${OS}) 85241279Smarcel# XXX not sure if we still want this given that configure 86241279Smarcel# lets us force or not the definition of MACHINE. 87241279SmarcelCFLAGS_main.o+= "-DFORCE_MACHINE=\"${MACHINE}\"" 88241279SmarcelMANTARGET=cat 89241279SmarcelINSTALL?=${srcdir}/install-sh 90241279Smarcel.if (${MACHINE} == "sun386") 91241279Smarcel# even I don't have one of these anymore :-) 92241279SmarcelCFLAGS+= -DPORTAR 93241279Smarcel.elif (${MACHINE} != "sunos") 94241279SmarcelSRCS+= sigcompat.c 95241279SmarcelCFLAGS+= -DSIGNAL_FLAGS=SA_RESTART 96241279Smarcel.endif 97241279Smarcel.endif 98241279Smarcel.if defined(.PARSEDIR) 99241279Smarcel.if make(obj) || make(clean) 100241279SmarcelSUBDIR+= unit-tests 101241279Smarcel.endif 102241279Smarcel.endif 103241279Smarcel 104241279Smarcel# many systems use gcc these days 105241279SmarcelCC_IS_GCC=yes 106241279Smarcel.if ${CC_IS_GCC} == "yes" 107241279Smarcel# problem with gcc3 108241279SmarcelCFLAGS_var.o+= -Wno-cast-qual 109241279Smarcel.endif 110241279Smarcel 111241279SmarcelCFLAGS_main.o+= "-DMACHINE=\"${MACHINE}\"" "-DMACHINE_ARCH=\"${MACHINE_ARCH}\"" 112241279Smarcel 113241279SmarcelEXTRACT_MAN=no 114241279Smarcel 115241279SmarcelMAN=${PROG}.1 116241279Smarcel.if (${PROG} != "make") 117241279Smarcel${MAN}: make.1 118241279Smarcel @echo making ${PROG}.1 119241279Smarcel @sed -e 's/^.Nx/NetBSD/' -e '/^.Nm/s/make/${PROG}/' -e '/^.Sh HISTORY/,$$d' ${srcdir}/make.1 > $@ 120241279Smarcel @(echo ".Sh HISTORY"; \ 121241279Smarcel echo ".Nm"; \ 122241279Smarcel echo "is derived from NetBSD"; \ 123241279Smarcel echo ".Xr make 1 ."; \ 124241279Smarcel echo It uses autoconf to facilitate portability to other platforms.) >> $@ 125241279Smarcel 126241279Smarcel.endif 127241279Smarcel 128241279Smarcel.if !empty(isBSD44:M${OS}) 129241279Smarcel.if "${OS}" != "NetBSD" 130241279SmarcelMAN1=${MAN} 131241279Smarcel.endif 132241279SmarcelMANTARGET?=man 133241279Smarcel.endif 134241279Smarcel 135241279SmarcelMANTARGET?= cat 136241279SmarcelMANDEST?= ${MANDIR}/${MANTARGET}1 137241279Smarcel 138241279Smarcel.if ${MANTARGET} == "cat" 139241279Smarcel_mfromdir=${srcdir} 140241279Smarcel.endif 141241279Smarcel 142241279Smarcel.if exists(${srcdir}/../Makefile.inc) 143241279Smarcel.include "${srcdir}/../Makefile.inc" 144241279Smarcel.endif 145241279Smarcel.sinclude <bsd.prog.mk> 146241279Smarcel# sigh, FreeBSD at least includes bsd.subdir.mk via bsd.obj.mk 147241279Smarcel# so the inclusion below, results in complaints about re-defined 148241279Smarcel# targets. For NetBSD though we need to explicitly include it. 149241279Smarcel.if defined(.PARSEDIR) 150241279Smarcel.if defined(SUBDIR) && !target(${SUBDIR:[1]}) 151241279Smarcel.sinclude <bsd.subdir.mk> 152241279Smarcel.endif 153241279Smarcel.endif 154241279Smarcel 155241279SmarcelCPPFLAGS+= -DMAKE_NATIVE 156241279SmarcelCOPTS.var.c += -Wno-cast-qual 157241279SmarcelCOPTS.job.c += -Wno-format-nonliteral 158241279SmarcelCOPTS.parse.c += -Wno-format-nonliteral 159241279SmarcelCOPTS.var.c += -Wno-format-nonliteral 160241279Smarcel 161241279Smarcel# Force these 162241279SmarcelBINDIR= ${prefix}/bin 163241279SmarcelMANDIR= ${prefix}/man 164241279Smarcel 165241279Smarcelarch.o: config.h 166241279Smarcel# make sure that MAKE_VERSION gets updated. 167241279Smarcelmain.o: ${SRCS} ${MAKEFILE} 168241279Smarcel 169241279SmarcelMK?=${prefix}/share/mk 170241279SmarcelMKSRC?=mk 171241279SmarcelINSTALL?=${srcdir}/install-sh 172241279Smarcel 173241279Smarcelbeforeinstall: 174241279Smarcel test -d ${DESTDIR}${BINDIR} || ${INSTALL} -m 775 -d ${DESTDIR}${BINDIR} 175241279Smarcel test -d ${DESTDIR}${MANDEST} || ${INSTALL} -m 775 -d ${DESTDIR}${MANDEST} 176241279Smarcel 177241279Smarcel# latest version of *.mk includes an installer. 178241279Smarcel# you should not need to set USE_OS 179241279Smarcelinstall-mk: 180241279Smarcel.if exists(${MKSRC}/install-mk) 181241279Smarcel test -d ${DESTDIR}${MK} || ${INSTALL} -m 775 -d ${DESTDIR}${MK} 182241279Smarcel ${MKSRC}/install-mk -v -m 644 ${DESTDIR}${MK} ${USE_OS} 183241279Smarcel.else 184241279Smarcel @echo need to unpack mk.tar.gz under ${srcdir} or set MKSRC; false 185241279Smarcel.endif 186241279Smarcel 187241279Smarcel.ifdef TOOLDIR 188241279Smarcel# this is a native netbsd build, 189241279Smarcel# use libutil rather than the local emalloc etc. 190241279SmarcelCPPFLAGS+= -DUSE_EMALLOC 191241279SmarcelLDADD+=-lutil 192241279SmarcelDPADD+=${LIBUTIL} 193241279Smarcel.endif 194241279Smarcel 195241279Smarcel# A simple unit-test driver to help catch regressions 196241279Smarcelaccept test: 197241279Smarcel cd ${.CURDIR}/unit-tests && MAKEFLAGS= ${.MAKE} -r -m / TEST_MAKE=${TEST_MAKE:U${.OBJDIR}/${PROG:T}} ${.TARGET} 198241279Smarcel 199241279Smarcel# override some simple things 200241279SmarcelBINDIR= /usr/bin 201241279SmarcelMANDIR= /usr/share/man/man 202241279Smarcel 203241279Smarcel# make sure we get this 204241279SmarcelCFLAGS+= ${COPTS.${.IMPSRC:T}} 205241279SmarcelCLEANFILES+= bootstrap 206241279Smarcel 207241279Smarcelafter-import: ${SRCTOP}/contrib/bmake/bsd.after-import.mk 208241279Smarcel cd ${.CURDIR} && ${.MAKE} -f ${SRCTOP}/contrib/bmake/bsd.after-import.mk 209241279Smarcel 210