1 # $Id: Makefile,v 1.80 2017/02/01 18:44:54 sjg Exp $
3 # Base version on src date
4 _MAKE_VERSION
= 20170201
61 LINKS
= ${BINDIR}/make
${BINDIR}/bmake
62 MLINKS
= make
.1 bmake
.1
64 # this file gets generated by configure
65 .
-include "Makefile.config"
68 SRCS
+= ${LIBOBJS
:T
:.o
=.c
}
75 DEFAULT_SYS_PATH?
= ${prefix}/share
/mk
79 CFLAGS
+= -D_PATH_DEFSYSPATH
=\"${DEFAULT_SYS_PATH}\"
80 CFLAGS
+= -I.
-I
${srcdir} ${XDEFS} -DMAKE_NATIVE
81 CFLAGS
+= ${COPTS.
${.ALLSRC
:M
*.c
:T
:u
}}
82 COPTS.main.c
+= "-DMAKE_VERSION=\"${_MAKE_VERSION}\""
84 # meta mode can be useful even without filemon
85 FILEMON_H ?
= /usr
/include/dev
/filemon
/filemon.h
86 .if exists
(${FILEMON_H}) && ${FILEMON_H
:T
} == "filemon.h"
87 COPTS.meta.c
+= -DHAVE_FILEMON_H
-I
${FILEMON_H
:H
}
91 .PATH
: ${srcdir}/lst.lib
93 .if make
(obj
) || make
(clean)
100 .if
(${PROG} != "make")
101 CLEANFILES
+= my.history
102 .if make
(${MAN}) ||
!exists
(${srcdir}/${MAN})
103 my.history
: ${MAKEFILE}
105 echo
"is derived from NetBSD"; \
106 echo
".Xr make 1 ."; \
107 echo
"It uses autoconf to facilitate portability to other platforms."; \
111 ${MAN}: make
.1 my.history
114 -e
'/^.Dt/s/MAKE/${PROG:tu}/' \
115 -e
's/^.Nx/NetBSD/' \
116 -e
'/^.Nm/s/make/${PROG}/' \
117 -e
'/^.Sh HISTORY/rmy.history' \
118 -e
'/^.Sh HISTORY/,$$s,^.Nm,make,' ${srcdir}/make
.1 > $@
120 all beforeinstall
: ${MAN}
126 MANDEST?
= ${MANDIR}/${MANTARGET}1
128 .if
${MANTARGET} == "cat"
134 CPPFLAGS
+= -DMAKE_NATIVE
-DHAVE_CONFIG_H
135 COPTS.var.c
+= -Wno-cast-qual
136 COPTS.job.c
+= -Wno-format-nonliteral
137 COPTS.parse.c
+= -Wno-format-nonliteral
138 COPTS.var.c
+= -Wno-format-nonliteral
141 SHAREDIR
= ${SHAREDIR.bmake
:U
${prefix}/share
}
142 BINDIR
= ${BINDIR.bmake
:U
${prefix}/bin
}
143 MANDIR
= ${MANDIR.bmake
:U
${SHAREDIR}/man
}
149 # make sure that MAKE_VERSION gets updated.
150 main.o
: ${SRCS} ${MAKEFILE}
152 SHARE_MK?
=${SHAREDIR}/mk
156 .if exists
(${MKSRC}/install-mk
)
157 test -d
${DESTDIR}${SHARE_MK} ||
${INSTALL} -m
${DIRMODE} -d
${DESTDIR}${SHARE_MK}
158 sh
${MKSRC}/install-mk
-v
-m
${NONBINMODE} ${DESTDIR}${SHARE_MK}
160 @echo need to unpack mk.
tar.gz under
${srcdir} or set MKSRC
; false
163 # A simple unit-test driver to help catch regressions
165 cd
${.CURDIR
}/unit-tests
&& MAKEFLAGS
= ${.MAKE
} -r
-m
/ TEST_MAKE
=${TEST_MAKE
:U
${.OBJDIR
}/${PROG
:T
}} ${.TARGET
}