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