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 14*34a3834eSSimon J. Gerraty# $Id: Makefile,v 1.137 2026/03/13 15:37:22 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 416a7405f5SSimon J. Gerraty.MAIN: all 426a7405f5SSimon J. Gerraty 436a7405f5SSimon J. Gerraty.-include "Makefile.inc" 44e22fef7dSSimon J. Gerraty 453cbdda60SSimon J. Gerraty# this file gets generated by configure 466a7405f5SSimon J. Gerraty.-include "Makefile.config" 47d4d90f10SMarcel Moolenaar 48d4d90f10SMarcel Moolenaar.if !empty(LIBOBJS) 49d4d90f10SMarcel MoolenaarSRCS+= ${LIBOBJS:T:.o=.c} 50d4d90f10SMarcel Moolenaar.endif 51d4d90f10SMarcel Moolenaar 523cbdda60SSimon J. Gerraty# just in case 533cbdda60SSimon J. Gerratyprefix?= /usr 546a7405f5SSimon J. Gerratysrcdir?= ${.PARSEDIR} 556a7405f5SSimon J. Gerratysrcdir:= ${srcdir} 563cbdda60SSimon J. Gerraty 57*34a3834eSSimon J. GerratyMAN?= ${PROG}.1 58*34a3834eSSimon J. GerratySRCS.${MAN}?= ${srcdir}/make.1 59*34a3834eSSimon J. Gerraty 600dede8b0SSimon J. GerratyDEFAULT_SYS_PATH?= ${prefix}/share/mk 613cbdda60SSimon J. Gerraty 62d4d90f10SMarcel MoolenaarCPPFLAGS+= -DUSE_META 633cbdda60SSimon J. GerratyCFLAGS+= ${CPPFLAGS} 643cbdda60SSimon J. GerratyCFLAGS+= -D_PATH_DEFSYSPATH=\"${DEFAULT_SYS_PATH}\" 653cbdda60SSimon J. GerratyCFLAGS+= -I. -I${srcdir} ${XDEFS} -DMAKE_NATIVE 663cbdda60SSimon J. GerratyCFLAGS+= ${COPTS.${.ALLSRC:M*.c:T:u}} 6780a5408cSBryan DreweryCOPTS.main.c+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\"" 683cbdda60SSimon J. Gerraty 69*34a3834eSSimon J. Gerraty# bmake defaults to the traditional behavior 70*34a3834eSSimon J. GerratyMAKE_SAVE_DOLLARS_DEFAULT?= no 71*34a3834eSSimon J. Gerraty 72*34a3834eSSimon J. GerratyVARS.main+= FORCE_MAKE_OS FORCE_MACHINE FORCE_MACHINE_ARCH \ 73*34a3834eSSimon J. Gerraty MAKE_SAVE_DOLLARS_DEFAULT \ 74*34a3834eSSimon J. Gerraty 75*34a3834eSSimon J. Gerraty.for x in ${VARS.main} 76e2eeea75SSimon J. Gerraty.ifdef $x 77e2eeea75SSimon J. GerratyCOPTS.main.c+= "-D$x=\"${$x}\"" 78e2eeea75SSimon J. Gerraty.endif 79e2eeea75SSimon J. Gerraty.endfor 80e2eeea75SSimon J. Gerraty 813cbdda60SSimon J. Gerraty# meta mode can be useful even without filemon 8249caa483SSimon J. Gerraty# should be set by now 8349caa483SSimon J. GerratyUSE_FILEMON?= no 8449caa483SSimon J. Gerraty.if ${USE_FILEMON:tl} != "no" 8549caa483SSimon J. Gerraty.PATH: ${srcdir}/filemon 8649caa483SSimon J. GerratySRCS+= filemon_${USE_FILEMON}.c 8749caa483SSimon J. GerratyCOPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} 8849caa483SSimon J. GerratyCOPTS.job.c+= ${COPTS.meta.c} 8949caa483SSimon J. Gerraty 9049caa483SSimon J. Gerraty.if ${USE_FILEMON} == "dev" 91d4d90f10SMarcel MoolenaarFILEMON_H?= /usr/include/dev/filemon/filemon.h 92d4d90f10SMarcel Moolenaar.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" 9349caa483SSimon J. GerratyCOPTS.filemon_dev.c+= -DHAVE_FILEMON_H -I${FILEMON_H:H} 94d4d90f10SMarcel Moolenaar.endif 95148ee845SSimon J. Gerraty.elif ${USE_FILEMON} == "ktrace" 96148ee845SSimon J. GerratyCOPTS.filemon_ktrace.c+= -Wno-error=unused-parameter 97148ee845SSimon J. Gerraty.endif 9849caa483SSimon J. Gerraty 9949caa483SSimon J. Gerraty.endif # USE_FILEMON 100d4d90f10SMarcel Moolenaar 101d4d90f10SMarcel Moolenaar.PATH: ${srcdir} 102d4d90f10SMarcel Moolenaar 1036a7405f5SSimon J. Gerraty 104d4d90f10SMarcel Moolenaar.if make(obj) || make(clean) 1056a7405f5SSimon J. GerratySUBDIR.${MK_TESTS}+= unit-tests 106d4d90f10SMarcel Moolenaar.endif 107d4d90f10SMarcel Moolenaar 108b4894ecaSSimon J. GerratyMAN1= ${MAN} 109b4894ecaSSimon J. Gerraty 1106a7405f5SSimon J. Gerraty.if ${MK_GEN_MAN:Uno} == "yes" 1116a7405f5SSimon J. Gerraty 1126a7405f5SSimon J. Gerraty# we use this to generate ${MAN} 1136a7405f5SSimon J. Gerraty.include <${srcdir}/mk/genfiles.mk> 1146a7405f5SSimon J. Gerraty 1151c04cf7dSSimon J. Gerraty.if ${PROG} != "make" 1163cbdda60SSimon J. GerratyCLEANFILES+= my.history 1176a7405f5SSimon J. GerratySED_CMDS.${MAN}+= \ 1186a7405f5SSimon J. Gerraty -e '/^.Dt/s/MAKE/${PROG:tu}/' \ 1196a7405f5SSimon J. Gerraty -e '/^.Nm/s/make/${PROG}/' \ 1206a7405f5SSimon J. Gerraty 1216a7405f5SSimon J. Gerraty.endif 1226a7405f5SSimon J. Gerraty 1236a7405f5SSimon J. Gerraty.if ${CLEANFILES:U:Mmy.history} != "" 1246a7405f5SSimon J. Gerraty${MAN}: my.history 125ef0b2538SSimon J. Gerratymy.history: 12693036677SSimon J. Gerraty @(echo ".Nm"; \ 127d4d90f10SMarcel Moolenaar echo "is derived from NetBSD"; \ 128d4d90f10SMarcel Moolenaar echo ".Xr make 1 ."; \ 12993036677SSimon J. Gerraty echo "It uses autoconf to facilitate portability to other platforms."; \ 13093036677SSimon J. Gerraty echo ".Pp") > $@ 13193036677SSimon J. Gerraty 1326a7405f5SSimon J. GerratySED_CMDS.${MAN}+= \ 13393036677SSimon J. Gerraty -e '/^.Sh HISTORY/rmy.history' \ 1346a7405f5SSimon J. Gerraty -e '/^.Sh HISTORY/,/BUGS/s,^.Nm,make,' \ 135d4d90f10SMarcel Moolenaar 1366a7405f5SSimon J. Gerraty.endif 1376a7405f5SSimon J. Gerraty 1386a7405f5SSimon J. Gerraty.if ${.MAKE.OS:N*BSD} != "" 1396a7405f5SSimon J. Gerraty# assume .Nx is not supported 1406a7405f5SSimon J. GerratySED_CMDS.${MAN}+= -e 's/^\.Nx/NetBSD/' 1416a7405f5SSimon J. Gerraty.endif 1426a7405f5SSimon J. Gerraty 1436a7405f5SSimon J. Gerraty# watch out for a late change of PROG 1446a7405f5SSimon J. Gerraty.if !empty(SRCS.${MAN}) 1456a7405f5SSimon J. Gerraty.NOPATH: ${MAN} 1466a7405f5SSimon J. Gerraty${MAN}: ${SRCS.${MAN}} _GENFILES_USE 1476a7405f5SSimon J. Gerraty 1486a7405f5SSimon J. Gerratyall man beforeinstall: ${MAN} 1493cbdda60SSimon J. Gerraty_mfromdir= . 150d4d90f10SMarcel Moolenaar.endif 1516a7405f5SSimon J. Gerraty.endif # MK_GEN_MAN 152d4d90f10SMarcel Moolenaar 153d4d90f10SMarcel MoolenaarMANTARGET?= cat 154d4d90f10SMarcel MoolenaarMANDEST?= ${MANDIR}/${MANTARGET}1 155d4d90f10SMarcel Moolenaar 156d4d90f10SMarcel Moolenaar.if ${MANTARGET} == "cat" 157d4d90f10SMarcel Moolenaar_mfromdir= ${srcdir} 158d4d90f10SMarcel Moolenaar.endif 159d4d90f10SMarcel Moolenaar 1603cbdda60SSimon J. Gerraty.include <bsd.prog.mk> 161d4d90f10SMarcel Moolenaar 1623cbdda60SSimon J. GerratyCPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H 163d4d90f10SMarcel MoolenaarCOPTS.var.c+= -Wno-cast-qual 164d4d90f10SMarcel MoolenaarCOPTS.job.c+= -Wno-format-nonliteral 165d4d90f10SMarcel MoolenaarCOPTS.parse.c+= -Wno-format-nonliteral 166d4d90f10SMarcel MoolenaarCOPTS.var.c+= -Wno-format-nonliteral 167d4d90f10SMarcel Moolenaar 168d4d90f10SMarcel Moolenaar# Force these 169db29cad8SSimon J. GerratySHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} 170db29cad8SSimon J. GerratyBINDIR= ${BINDIR.bmake:U${prefix}/bin} 171db29cad8SSimon J. GerratyMANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} 172d4d90f10SMarcel Moolenaar 173*34a3834eSSimon J. Gerraty${OBJS}: .META config.h 174*34a3834eSSimon J. Gerraty${PROG}: .META 1753cbdda60SSimon J. Gerraty 176d4d90f10SMarcel Moolenaar 177d4d90f10SMarcel Moolenaar# A simple unit-test driver to help catch regressions 1782c3632d1SSimon J. GerratyTEST_MAKE?= ${.OBJDIR}/${PROG:T} 17908604a02SSimon J. Gerratyaccept test: .NOMETA 1802c3632d1SSimon J. Gerraty cd ${.CURDIR}/unit-tests && \ 1812c3632d1SSimon J. Gerraty MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} 1822c3632d1SSimon J. Gerraty 183d4d90f10SMarcel Moolenaar 18408604a02SSimon J. Gerraty.if make(test) && ${MK_AUTO_OBJ} == "yes" 185532d4fbfSSimon J. Gerraty# The test target above visits unit-tests with -r -m / 186532d4fbfSSimon J. Gerraty# which prevents MK_AUTO_OBJ doing its job 187532d4fbfSSimon J. Gerraty# so do it here 188532d4fbfSSimon J. Gerraty.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" 18908604a02SSimon J. Gerraty_utobj= ${.OBJDIR}/unit-tests 19008604a02SSimon J. Gerraty.else 19108604a02SSimon J. Gerraty_utobj= ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} 19208604a02SSimon J. Gerraty.endif 19308604a02SSimon J. Gerratyutobj: .NOMETA 194532d4fbfSSimon J. Gerraty @test -d ${_utobj} && exit 0; \ 195532d4fbfSSimon J. Gerraty echo "[Creating ${_utobj}...]"; \ 196532d4fbfSSimon J. Gerraty umask ${OBJDIR_UMASK:U002}; \ 19708604a02SSimon J. Gerraty mkdir -p ${_utobj} 19808604a02SSimon J. Gerratytest: utobj 19908604a02SSimon J. Gerraty.endif 20008604a02SSimon J. Gerraty 201d4d90f10SMarcel Moolenaar# override some simple things 202d4d90f10SMarcel MoolenaarBINDIR= /usr/bin 203d4d90f10SMarcel MoolenaarMANDIR= /usr/share/man/man 204d4d90f10SMarcel Moolenaar 205d4d90f10SMarcel Moolenaar# make sure we get this 206d4d90f10SMarcel MoolenaarCFLAGS+= ${COPTS.${.IMPSRC:T}} 207d4d90f10SMarcel Moolenaar 208d4d90f10SMarcel Moolenaarafter-import: ${SRCTOP}/contrib/bmake/bsd.after-import.mk 209d4d90f10SMarcel Moolenaar cd ${.CURDIR} && ${.MAKE} -f ${SRCTOP}/contrib/bmake/bsd.after-import.mk 210d4d90f10SMarcel Moolenaar 211