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*d9a65c5dSSimon J. Gerraty# $Id: Makefile,v 1.133 2025/03/08 20:12:56 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. GerratyMAN= ${PROG}.1 446a7405f5SSimon J. GerratySRCS.${MAN}= ${srcdir}/make.1 456a7405f5SSimon J. Gerraty 466a7405f5SSimon J. Gerraty.-include "Makefile.inc" 47e22fef7dSSimon J. Gerraty 483cbdda60SSimon J. Gerraty# this file gets generated by configure 496a7405f5SSimon J. Gerraty.-include "Makefile.config" 50d4d90f10SMarcel Moolenaar 51d4d90f10SMarcel Moolenaar.if !empty(LIBOBJS) 52d4d90f10SMarcel MoolenaarSRCS+= ${LIBOBJS:T:.o=.c} 53d4d90f10SMarcel Moolenaar.endif 54d4d90f10SMarcel Moolenaar 553cbdda60SSimon J. Gerraty# just in case 563cbdda60SSimon J. Gerratyprefix?= /usr 576a7405f5SSimon J. Gerratysrcdir?= ${.PARSEDIR} 586a7405f5SSimon J. Gerratysrcdir:= ${srcdir} 593cbdda60SSimon 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 69548bfc56SSimon J. Gerraty.for x in FORCE_MAKE_OS FORCE_MACHINE FORCE_MACHINE_ARCH 70e2eeea75SSimon J. Gerraty.ifdef $x 71e2eeea75SSimon J. GerratyCOPTS.main.c+= "-D$x=\"${$x}\"" 72e2eeea75SSimon J. Gerraty.endif 73e2eeea75SSimon J. Gerraty.endfor 74e2eeea75SSimon J. Gerraty 753cbdda60SSimon J. Gerraty# meta mode can be useful even without filemon 7649caa483SSimon J. Gerraty# should be set by now 7749caa483SSimon J. GerratyUSE_FILEMON?= no 7849caa483SSimon J. Gerraty.if ${USE_FILEMON:tl} != "no" 7949caa483SSimon J. Gerraty.PATH: ${srcdir}/filemon 8049caa483SSimon J. GerratySRCS+= filemon_${USE_FILEMON}.c 8149caa483SSimon J. GerratyCOPTS.meta.c+= -DUSE_FILEMON -DUSE_FILEMON_${USE_FILEMON:tu} 8249caa483SSimon J. GerratyCOPTS.job.c+= ${COPTS.meta.c} 8349caa483SSimon J. Gerraty 8449caa483SSimon J. Gerraty.if ${USE_FILEMON} == "dev" 85d4d90f10SMarcel MoolenaarFILEMON_H?= /usr/include/dev/filemon/filemon.h 86d4d90f10SMarcel Moolenaar.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" 8749caa483SSimon J. GerratyCOPTS.filemon_dev.c+= -DHAVE_FILEMON_H -I${FILEMON_H:H} 88d4d90f10SMarcel Moolenaar.endif 89148ee845SSimon J. Gerraty.elif ${USE_FILEMON} == "ktrace" 90148ee845SSimon J. GerratyCOPTS.filemon_ktrace.c+= -Wno-error=unused-parameter 91148ee845SSimon J. Gerraty.endif 9249caa483SSimon J. Gerraty 9349caa483SSimon J. Gerraty.endif # USE_FILEMON 94d4d90f10SMarcel Moolenaar 95d4d90f10SMarcel Moolenaar.PATH: ${srcdir} 96d4d90f10SMarcel Moolenaar 976a7405f5SSimon J. Gerraty 98d4d90f10SMarcel Moolenaar.if make(obj) || make(clean) 996a7405f5SSimon J. GerratySUBDIR.${MK_TESTS}+= unit-tests 100d4d90f10SMarcel Moolenaar.endif 101d4d90f10SMarcel Moolenaar 1023cbdda60SSimon J. GerratyMAN1= ${MAN} 1033cbdda60SSimon J. Gerraty 1046a7405f5SSimon J. Gerraty.if ${MK_GEN_MAN:Uno} == "yes" 1056a7405f5SSimon J. Gerraty 1066a7405f5SSimon J. Gerraty# we use this to generate ${MAN} 1076a7405f5SSimon J. Gerraty.include <${srcdir}/mk/genfiles.mk> 1086a7405f5SSimon J. Gerraty 1091c04cf7dSSimon J. Gerraty.if ${PROG} != "make" 1103cbdda60SSimon J. GerratyCLEANFILES+= my.history 1116a7405f5SSimon J. GerratySED_CMDS.${MAN}+= \ 1126a7405f5SSimon J. Gerraty -e '/^.Dt/s/MAKE/${PROG:tu}/' \ 1136a7405f5SSimon J. Gerraty -e '/^.Nm/s/make/${PROG}/' \ 1146a7405f5SSimon J. Gerraty 1156a7405f5SSimon J. Gerraty.endif 1166a7405f5SSimon J. Gerraty 1176a7405f5SSimon J. Gerraty.if ${CLEANFILES:U:Mmy.history} != "" 1186a7405f5SSimon J. Gerraty${MAN}: my.history 119ef0b2538SSimon J. Gerratymy.history: 12093036677SSimon J. Gerraty @(echo ".Nm"; \ 121d4d90f10SMarcel Moolenaar echo "is derived from NetBSD"; \ 122d4d90f10SMarcel Moolenaar echo ".Xr make 1 ."; \ 12393036677SSimon J. Gerraty echo "It uses autoconf to facilitate portability to other platforms."; \ 12493036677SSimon J. Gerraty echo ".Pp") > $@ 12593036677SSimon J. Gerraty 1266a7405f5SSimon J. GerratySED_CMDS.${MAN}+= \ 12793036677SSimon J. Gerraty -e '/^.Sh HISTORY/rmy.history' \ 1286a7405f5SSimon J. Gerraty -e '/^.Sh HISTORY/,/BUGS/s,^.Nm,make,' \ 129d4d90f10SMarcel Moolenaar 1306a7405f5SSimon J. Gerraty.endif 1316a7405f5SSimon J. Gerraty 1326a7405f5SSimon J. Gerraty.if ${.MAKE.OS:N*BSD} != "" 1336a7405f5SSimon J. Gerraty# assume .Nx is not supported 1346a7405f5SSimon J. GerratySED_CMDS.${MAN}+= -e 's/^\.Nx/NetBSD/' 1356a7405f5SSimon J. Gerraty.endif 1366a7405f5SSimon J. Gerraty 1376a7405f5SSimon J. Gerraty# watch out for a late change of PROG 1386a7405f5SSimon J. Gerraty.if !empty(SRCS.${MAN}) 1396a7405f5SSimon J. Gerraty.NOPATH: ${MAN} 1406a7405f5SSimon J. Gerraty${MAN}: ${SRCS.${MAN}} _GENFILES_USE 1416a7405f5SSimon J. Gerraty 1426a7405f5SSimon J. Gerratyall man beforeinstall: ${MAN} 1433cbdda60SSimon J. Gerraty_mfromdir= . 144d4d90f10SMarcel Moolenaar.endif 1456a7405f5SSimon J. Gerraty.endif # MK_GEN_MAN 146d4d90f10SMarcel Moolenaar 147d4d90f10SMarcel MoolenaarMANTARGET?= cat 148d4d90f10SMarcel MoolenaarMANDEST?= ${MANDIR}/${MANTARGET}1 149d4d90f10SMarcel Moolenaar 150d4d90f10SMarcel Moolenaar.if ${MANTARGET} == "cat" 151d4d90f10SMarcel Moolenaar_mfromdir= ${srcdir} 152d4d90f10SMarcel Moolenaar.endif 153d4d90f10SMarcel Moolenaar 1543cbdda60SSimon J. Gerraty.include <bsd.prog.mk> 155d4d90f10SMarcel Moolenaar 1563cbdda60SSimon J. GerratyCPPFLAGS+= -DMAKE_NATIVE -DHAVE_CONFIG_H 157d4d90f10SMarcel MoolenaarCOPTS.var.c+= -Wno-cast-qual 158d4d90f10SMarcel MoolenaarCOPTS.job.c+= -Wno-format-nonliteral 159d4d90f10SMarcel MoolenaarCOPTS.parse.c+= -Wno-format-nonliteral 160d4d90f10SMarcel MoolenaarCOPTS.var.c+= -Wno-format-nonliteral 161d4d90f10SMarcel Moolenaar 162d4d90f10SMarcel Moolenaar# Force these 163db29cad8SSimon J. GerratySHAREDIR= ${SHAREDIR.bmake:U${prefix}/share} 164db29cad8SSimon J. GerratyBINDIR= ${BINDIR.bmake:U${prefix}/bin} 165db29cad8SSimon J. GerratyMANDIR= ${MANDIR.bmake:U${SHAREDIR}/man} 166d4d90f10SMarcel Moolenaar 1673cbdda60SSimon J. Gerraty${OBJS}: config.h 1683cbdda60SSimon J. Gerraty 169d4d90f10SMarcel Moolenaar 170d4d90f10SMarcel Moolenaar# A simple unit-test driver to help catch regressions 1712c3632d1SSimon J. GerratyTEST_MAKE?= ${.OBJDIR}/${PROG:T} 17208604a02SSimon J. Gerratyaccept test: .NOMETA 1732c3632d1SSimon J. Gerraty cd ${.CURDIR}/unit-tests && \ 1742c3632d1SSimon J. Gerraty MAKEFLAGS= ${TEST_MAKE} -r -m / ${.TARGET} ${TESTS:DTESTS=${TESTS:Q}} 1752c3632d1SSimon J. Gerraty 176d4d90f10SMarcel Moolenaar 17708604a02SSimon J. Gerraty.if make(test) && ${MK_AUTO_OBJ} == "yes" 178532d4fbfSSimon J. Gerraty# The test target above visits unit-tests with -r -m / 179532d4fbfSSimon J. Gerraty# which prevents MK_AUTO_OBJ doing its job 180532d4fbfSSimon J. Gerraty# so do it here 181532d4fbfSSimon J. Gerraty.if defined(MAKEOBJDIRPREFIX) || ${MAKEOBJDIR:U:M*/*} != "" 18208604a02SSimon J. Gerraty_utobj= ${.OBJDIR}/unit-tests 18308604a02SSimon J. Gerraty.else 18408604a02SSimon J. Gerraty_utobj= ${.CURDIR}/unit-tests/${MAKEOBJDIR:Uobj} 18508604a02SSimon J. Gerraty.endif 18608604a02SSimon J. Gerratyutobj: .NOMETA 187532d4fbfSSimon J. Gerraty @test -d ${_utobj} && exit 0; \ 188532d4fbfSSimon J. Gerraty echo "[Creating ${_utobj}...]"; \ 189532d4fbfSSimon J. Gerraty umask ${OBJDIR_UMASK:U002}; \ 19008604a02SSimon J. Gerraty mkdir -p ${_utobj} 19108604a02SSimon J. Gerratytest: utobj 19208604a02SSimon J. Gerraty.endif 19308604a02SSimon J. Gerraty 194d4d90f10SMarcel Moolenaar# override some simple things 195d4d90f10SMarcel MoolenaarBINDIR= /usr/bin 196d4d90f10SMarcel MoolenaarMANDIR= /usr/share/man/man 197d4d90f10SMarcel Moolenaar 198d4d90f10SMarcel Moolenaar# make sure we get this 199d4d90f10SMarcel MoolenaarCFLAGS+= ${COPTS.${.IMPSRC:T}} 200d4d90f10SMarcel Moolenaar 201d4d90f10SMarcel Moolenaarafter-import: ${SRCTOP}/contrib/bmake/bsd.after-import.mk 202d4d90f10SMarcel Moolenaar cd ${.CURDIR} && ${.MAKE} -f ${SRCTOP}/contrib/bmake/bsd.after-import.mk 203d4d90f10SMarcel Moolenaar 204