xref: /freebsd-14.2/usr.bin/bmake/Makefile (revision d0b2dbfa)
1d4d90f10SMarcel Moolenaar# This is a generated file, do NOT edit!
2d4d90f10SMarcel Moolenaar# See contrib/bmake/bsd.after-import.mk
3d4d90f10SMarcel Moolenaar#
4d4d90f10SMarcel Moolenaar
5d4d90f10SMarcel MoolenaarSRCTOP?= ${.CURDIR:H:H}
6d4d90f10SMarcel Moolenaar
7d4d90f10SMarcel Moolenaar# look here first for config.h
8d4d90f10SMarcel MoolenaarCFLAGS+= -I${.CURDIR}
9d4d90f10SMarcel Moolenaar
103cbdda60SSimon J. Gerraty# for after-import
113cbdda60SSimon J. GerratyCLEANDIRS+= FreeBSD
123cbdda60SSimon J. GerratyCLEANFILES+= bootstrap
13d4d90f10SMarcel Moolenaar
14148ee845SSimon J. Gerraty#	$Id: Makefile,v 1.125 2023/05/17 00:15:46 sjg Exp $
15d4d90f10SMarcel Moolenaar
163cbdda60SSimon J. GerratyPROG?=	${.CURDIR:T}
173cbdda60SSimon J. Gerraty
183cbdda60SSimon J. GerratySRCS= \
193cbdda60SSimon J. Gerraty	arch.c \
203cbdda60SSimon J. Gerraty	buf.c \
213cbdda60SSimon J. Gerraty	compat.c \
223cbdda60SSimon J. Gerraty	cond.c \
233cbdda60SSimon J. Gerraty	dir.c \
243cbdda60SSimon J. Gerraty	for.c \
253cbdda60SSimon J. Gerraty	hash.c \
263cbdda60SSimon J. Gerraty	job.c \
272c3632d1SSimon J. Gerraty	lst.c \
283cbdda60SSimon J. Gerraty	main.c \
293cbdda60SSimon J. Gerraty	make.c \
303cbdda60SSimon J. Gerraty	make_malloc.c \
313cbdda60SSimon J. Gerraty	meta.c \
324c620fe5SSimon J. Gerraty	metachar.c \
333cbdda60SSimon J. Gerraty	parse.c \
343cbdda60SSimon J. Gerraty	str.c \
353cbdda60SSimon J. Gerraty	suff.c \
363cbdda60SSimon J. Gerraty	targ.c \
373cbdda60SSimon J. Gerraty	trace.c \
383cbdda60SSimon J. Gerraty	util.c \
393cbdda60SSimon J. Gerraty	var.c
403cbdda60SSimon J. Gerraty
4149caa483SSimon J. Gerraty.sinclude "Makefile.inc"
42e22fef7dSSimon J. Gerraty
433cbdda60SSimon J. Gerraty# this file gets generated by configure
443cbdda60SSimon J. Gerraty.sinclude "Makefile.config"
45d4d90f10SMarcel Moolenaar
46d4d90f10SMarcel Moolenaar.if !empty(LIBOBJS)
47d4d90f10SMarcel MoolenaarSRCS+= ${LIBOBJS:T:.o=.c}
48d4d90f10SMarcel Moolenaar.endif
49d4d90f10SMarcel Moolenaar
503cbdda60SSimon J. Gerraty# just in case
513cbdda60SSimon J. Gerratyprefix?= /usr
523cbdda60SSimon J. Gerratysrcdir?= ${.CURDIR}
533cbdda60SSimon J. Gerraty
540dede8b0SSimon J. GerratyDEFAULT_SYS_PATH?= ${prefix}/share/mk
553cbdda60SSimon J. Gerraty
56d4d90f10SMarcel MoolenaarCPPFLAGS+= -DUSE_META
573cbdda60SSimon J. GerratyCFLAGS+= ${CPPFLAGS}
583cbdda60SSimon J. GerratyCFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\"
593cbdda60SSimon J. GerratyCFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE
603cbdda60SSimon J. GerratyCFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}}
6180a5408cSBryan DreweryCOPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\""
623cbdda60SSimon J. Gerraty
63e2eeea75SSimon J. Gerraty.for x in FORCE_MACHINE FORCE_MACHINE_ARCH
64e2eeea75SSimon J. Gerraty.ifdef $x
65e2eeea75SSimon J. GerratyCOPTS.main.c+= "-D$x=\"${$x}\""
66e2eeea75SSimon J. Gerraty.endif
67e2eeea75SSimon J. Gerraty.endfor
68e2eeea75SSimon J. Gerraty
693cbdda60SSimon J. Gerraty# meta mode can be useful even without filemon
7049caa483SSimon J. Gerraty# should be set by now
7149caa483SSimon J. GerratyUSE_FILEMON ?= no
7249caa483SSimon J. Gerraty.if ${USE_FILEMON:tl} != "no"
7349caa483SSimon J. Gerraty.PATH:	${srcdir}/filemon
7449caa483SSimon J. GerratySRCS+=	filemon_${USE_FILEMON}.c
7549caa483SSimon J. GerratyCOPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu}
7649caa483SSimon J. GerratyCOPTS.job.c+= ${COPTS.meta.c}
7749caa483SSimon J. Gerraty
7849caa483SSimon J. Gerraty.if ${USE_FILEMON} == "dev"
79d4d90f10SMarcel MoolenaarFILEMON_H ?= /usr/include/dev/filemon/filemon.h
80d4d90f10SMarcel Moolenaar.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h"
8149caa483SSimon J. GerratyCOPTS.filemon_dev.c += -DHAVE_FILEMON_H -I${FILEMON_H:H}
82d4d90f10SMarcel Moolenaar.endif
83148ee845SSimon J. Gerraty.elif ${USE_FILEMON} == "ktrace"
84148ee845SSimon J. GerratyCOPTS.filemon_ktrace.c += -Wno-error=unused-parameter
85148ee845SSimon J. Gerraty.endif
8649caa483SSimon J. Gerraty
8749caa483SSimon J. Gerraty.endif				# USE_FILEMON
88d4d90f10SMarcel Moolenaar
89d4d90f10SMarcel Moolenaar.PATH:	${srcdir}
90d4d90f10SMarcel Moolenaar
91d4d90f10SMarcel Moolenaar.if make(obj) || make(clean)
92d4d90f10SMarcel MoolenaarSUBDIR+= unit-tests
93d4d90f10SMarcel Moolenaar.endif
94d4d90f10SMarcel Moolenaar
955bcb7424SSimon J. Gerraty
96d4d90f10SMarcel MoolenaarMAN= ${PROG}.1
973cbdda60SSimon J. GerratyMAN1= ${MAN}
983cbdda60SSimon J. Gerraty
991c04cf7dSSimon J. Gerraty.if ${PROG} != "make"
1003cbdda60SSimon J. GerratyCLEANFILES+= my.history
1013cbdda60SSimon J. Gerraty.if make(${MAN}) || !exists(${srcdir}/${MAN})
102ef0b2538SSimon J. Gerratymy.history:
10393036677SSimon J. Gerraty	@(echo ".Nm"; \
104d4d90f10SMarcel Moolenaar	echo "is derived from NetBSD"; \
105d4d90f10SMarcel Moolenaar	echo ".Xr make 1 ."; \
10693036677SSimon J. Gerraty	echo "It uses autoconf to facilitate portability to other platforms."; \
10793036677SSimon J. Gerraty	echo ".Pp") > $@
10893036677SSimon J. Gerraty
1093cbdda60SSimon J. Gerraty.NOPATH: ${MAN}
11093036677SSimon J. Gerraty${MAN}:	make.1 my.history
1113cbdda60SSimon J. Gerraty	@echo making $@
11245447996SSimon J. Gerraty	@sed \
11345447996SSimon J. Gerraty	-e '/^.Dt/s/MAKE/${PROG:tu}/' \
11445447996SSimon J. Gerraty	-e 's/^.Nx/NetBSD/' \
11545447996SSimon J. Gerraty	-e '/^.Nm/s/make/${PROG}/' \
11693036677SSimon J. Gerraty	-e '/^.Sh HISTORY/rmy.history' \
11793036677SSimon J. Gerraty	-e '/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make.1 > $@
118d4d90f10SMarcel Moolenaar
1193cbdda60SSimon J. Gerratyall beforeinstall: ${MAN}
1203cbdda60SSimon J. Gerraty_mfromdir=.
121d4d90f10SMarcel Moolenaar.endif
122d4d90f10SMarcel Moolenaar.endif
123d4d90f10SMarcel Moolenaar
124d4d90f10SMarcel MoolenaarMANTARGET?= cat
125d4d90f10SMarcel MoolenaarMANDEST?= ${MANDIR}/${MANTARGET}1
126d4d90f10SMarcel Moolenaar
127d4d90f10SMarcel Moolenaar.if ${MANTARGET} == "cat"
128d4d90f10SMarcel Moolenaar_mfromdir=${srcdir}
129d4d90f10SMarcel Moolenaar.endif
130d4d90f10SMarcel Moolenaar
1313cbdda60SSimon J. Gerraty.include <bsd.prog.mk>
132d4d90f10SMarcel Moolenaar
1333cbdda60SSimon J. GerratyCPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H
134d4d90f10SMarcel MoolenaarCOPTS.var.c += -Wno-cast-qual
135d4d90f10SMarcel MoolenaarCOPTS.job.c += -Wno-format-nonliteral
136d4d90f10SMarcel MoolenaarCOPTS.parse.c += -Wno-format-nonliteral
137d4d90f10SMarcel MoolenaarCOPTS.var.c += -Wno-format-nonliteral
138d4d90f10SMarcel Moolenaar
139d4d90f10SMarcel Moolenaar# Force these
140db29cad8SSimon J. GerratySHAREDIR= ${SHAREDIR.bmake:U${prefix}/share}
141db29cad8SSimon J. GerratyBINDIR= ${BINDIR.bmake:U${prefix}/bin}
142db29cad8SSimon J. GerratyMANDIR= ${MANDIR.bmake:U${SHAREDIR}/man}
143d4d90f10SMarcel Moolenaar
1443cbdda60SSimon J. Gerraty${OBJS}: config.h
1453cbdda60SSimon J. Gerraty
146d4d90f10SMarcel Moolenaar
147d4d90f10SMarcel Moolenaar# A simple unit-test driver to help catch regressions
1482c3632d1SSimon J. GerratyTEST_MAKE ?= ${.OBJDIR}/${PROG:T}
149*08604a02SSimon J. Gerratyaccept test: .NOMETA
1502c3632d1SSimon J. Gerraty	cd ${.CURDIR}/unit-tests && \
1512c3632d1SSimon J. Gerraty	MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}}
1522c3632d1SSimon J. Gerraty
153d4d90f10SMarcel Moolenaar
154*08604a02SSimon J. Gerraty.if make(test) && ${MK_AUTO_OBJ} == "yes"
155532d4fbfSSimon J. Gerraty# The test target above visits unit-tests with -r -m /
156532d4fbfSSimon J. Gerraty# which prevents MK_AUTO_OBJ doing its job
157532d4fbfSSimon J. Gerraty# so do it here
158532d4fbfSSimon J. Gerraty.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != ""
159*08604a02SSimon J. Gerraty_utobj = ${.OBJDIR}/unit-tests
160*08604a02SSimon J. Gerraty.else
161*08604a02SSimon J. Gerraty_utobj = ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj}
162*08604a02SSimon J. Gerraty.endif
163*08604a02SSimon J. Gerratyutobj: .NOMETA
164532d4fbfSSimon J. Gerraty	@test -d ${_utobj} && exit 0; \
165532d4fbfSSimon J. Gerraty	echo "[Creating ${_utobj}...]"; \
166532d4fbfSSimon J. Gerraty	umask ${OBJDIR_UMASK:U002}; \
167*08604a02SSimon J. Gerraty	mkdir -p ${_utobj}
168*08604a02SSimon J. Gerratytest: utobj
169*08604a02SSimon J. Gerraty.endif
170*08604a02SSimon J. Gerraty
171d4d90f10SMarcel Moolenaar# override some simple things
172d4d90f10SMarcel MoolenaarBINDIR= /usr/bin
173d4d90f10SMarcel MoolenaarMANDIR= /usr/share/man/man
174d4d90f10SMarcel Moolenaar
175d4d90f10SMarcel Moolenaar# make sure we get this
176d4d90f10SMarcel MoolenaarCFLAGS+= ${COPTS.${.IMPSRC:T}}
177d4d90f10SMarcel Moolenaar
178d4d90f10SMarcel Moolenaarafter-import: ${SRCTOP}/contrib/bmake/bsd.after-import.mk
179d4d90f10SMarcel Moolenaar	cd ${.CURDIR} && ${.MAKE} -f ${SRCTOP}/contrib/bmake/bsd.after-import.mk
180d4d90f10SMarcel Moolenaar
181