summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorAndrew Shadura <andrew@shadura.me>2015-07-25 14:44:48 +0200
committerAndrew Shadura <andrew@shadura.me>2015-07-25 14:44:48 +0200
commit8d15cbf39b8aa01eaabfa3167e6ce3dc9f9e0af8 (patch)
tree285bc54cde407bc53e4134c649569b92758ed33a /mk
parent6ec061aabc159e3f37591e92fa1df407cdca6246 (diff)
Imported Upstream version 0.27.0
Diffstat (limited to 'mk')
-rw-r--r--mk/Makefile10
-rw-r--r--mk/mkc.init.mk15
-rw-r--r--mk/mkc_imp.arch.mk16
-rw-r--r--mk/mkc_imp.dep.mk33
-rw-r--r--mk/mkc_imp.files.mk17
-rw-r--r--mk/mkc_imp.final.mk23
-rw-r--r--mk/mkc_imp.inc.mk9
-rw-r--r--mk/mkc_imp.info.mk17
-rw-r--r--mk/mkc_imp.intexts.mk3
-rw-r--r--mk/mkc_imp.lib.mk12
-rw-r--r--mk/mkc_imp.links.mk5
-rw-r--r--mk/mkc_imp.man.mk16
-rw-r--r--mk/mkc_imp.mk38
-rw-r--r--mk/mkc_imp.pkg-config.mk6
-rw-r--r--mk/mkc_imp.platform.sys.mk13
-rw-r--r--mk/mkc_imp.prog.mk9
-rw-r--r--mk/mkc_imp.scripts.mk16
-rw-r--r--mk/mkc_imp.subprj.mk3
18 files changed, 124 insertions, 137 deletions
diff --git a/mk/Makefile b/mk/Makefile
index e3ba4e2..90d43e2 100644
--- a/mk/Makefile
+++ b/mk/Makefile
@@ -24,16 +24,16 @@ MKC_CHECK_PROGS += makedepend
.include <mkc.configure.mk>
-.if ${HAVE_PROG.makedepend:U0}
-makedepend_cmd = ${PROG.makedepend}
-mkdep_cmd = mkdep
-mkdep_type = makedepend
-.elif !empty(CUSTOM.prog_nbmkdep)
+.if !empty(CUSTOM.prog_nbmkdep)
mkdep_cmd = ${CUSTOM.prog_nbmkdep}
mkdep_type = nbmkdep
.elif !empty(CUSTOM.prog_mkdep)
mkdep_cmd = ${CUSTOM.prog_mkdep}
mkdep_type = mkdep
+.elif ${HAVE_PROG.makedepend:U0}
+makedepend_cmd = ${PROG.makedepend}
+mkdep_cmd = mkdep
+mkdep_type = makedepend
.else
MKC_ERR_MSG += "mkdep(1) cannot be found"
.endif
diff --git a/mk/mkc.init.mk b/mk/mkc.init.mk
index 3196242..7d7339f 100644
--- a/mk/mkc.init.mk
+++ b/mk/mkc.init.mk
@@ -283,13 +283,13 @@ DISTCLEANFILES += ${MKC_CACHEDIR}/_mkc_*
######
.if ${MKPIE:U:tl} == "yes"
LDFLAGS.prog += ${LDFLAGS.pie}
-CFLAGS += ${CFLAGS.pie}
-CXXFLAGS += ${CXXFLAGS.pie}
+_CFLAGS.pie += ${CFLAGS.pie}
+_CXXFLAGS.pie += ${CXXFLAGS.pie}
.endif
.if ${USE_SSP:U:tl} == "yes"
-CFLAGS += ${CFLAGS.ssp}
-CXXFLAGS += ${CXXFLAGS.ssp}
+_CFLAGS.ssp = ${CFLAGS.ssp}
+_CXXFLAGS.ssp = ${CXXFLAGS.ssp}
.endif
.if ${USE_RELRO:U:tl} == "yes"
@@ -325,12 +325,12 @@ MESSAGE.s ?= @${_MESSAGE} "AS: ${.IMPSRC}"
CC ?= cc
CFLAGS ?=
-COMPILE.c ?= ${_V} ${CC_PREFIX} ${CC} ${CFLAGS} ${CPPFLAGS} ${CFLAGS.warnerr} -c
+COMPILE.c ?= ${_V} ${CC_PREFIX} ${CC} ${CFLAGS} ${CPPFLAGS} ${_CFLAGS.ssp} ${_CFLAGS.pie} ${CFLAGS.warns} -c
MESSAGE.c ?= @${_MESSAGE} "CC: ${.IMPSRC}"
CXX ?= c++
CXXFLAGS += ${CFLAGS}
-COMPILE.cc ?= ${_V} ${CXX_PREFIX} ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${CFLAGS.warnerr} -c
+COMPILE.cc ?= ${_V} ${CXX_PREFIX} ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${_CXXFLAGS.ssp} ${_CXXFLAGS.pie} ${CXXFLAGS.warns} -c
MESSAGE.cc ?= @${_MESSAGE} "CXX: ${.IMPSRC}"
OBJC ?= ${CC}
@@ -438,6 +438,9 @@ TARGETS += all install clean cleandir depend test \
installdirs uninstall errorcheck filelist obj
TARGETS := ${TARGETS:O:u}
+ALLTARGETS += all install clean cleandir depend uninstall installdirs \
+ bin_tar bin_targz bin_tarbz2 bin_zip bin_deb
+
VERBOSE_ECHO ?= echo
.endif # __initialized__
diff --git a/mk/mkc_imp.arch.mk b/mk/mkc_imp.arch.mk
index fda3999..30554ad 100644
--- a/mk/mkc_imp.arch.mk
+++ b/mk/mkc_imp.arch.mk
@@ -1,4 +1,4 @@
-# Copyright (c) 2010 by Aleksey Cheusov
+# Copyright (c) 2010-2014 by Aleksey Cheusov
#
# See LICENSE file in the distribution.
############################################################
@@ -10,27 +10,25 @@ rnd != echo $$$$
destdir = ${TMPDIR:U/tmp}/mkc.${rnd}
basefile = ${.CURDIR}/${PROJECTNAME}
-.PHONY: bin_cleanup bin_tar bin_targz bin_tarbz2
-
-bin_cleanup:
+bin_cleanup: .PHONY
set -e; ${RM} -rf ${destdir}; ${MKDIR} -m 0700 ${destdir}; \
${MAKE} ${MAKEFLAGS} all install DESTDIR=${destdir}
-bin_tar: bin_cleanup
+realdo_bin_tar: bin_cleanup
set -e; ${RM} -f ${basefile}.tar; cd ${destdir}; \
${TAR} -cf ${basefile}.tar .; cd /; ${RM} -rf ${destdir}
-bin_targz: bin_tar
+realdo_bin_targz: bin_tar
${GZIP} ${basefile}.tar
-bin_tarbz2: bin_tar
+realdo_bin_tarbz2: bin_tar
${BZIP2} ${basefile}.tar
-bin_zip: bin_cleanup
+realdo_bin_zip: bin_cleanup
set -e; ${RM} -f ${basefile}.zip; cd ${destdir}; \
${ZIP} -r ${basefile}.zip .; ${RM} -rf ${destdir}
-bin_deb: DEBIAN/control bin_cleanup
+realdo_bin_deb: DEBIAN/control bin_cleanup
set -e; cp -rp DEBIAN ${destdir}; ${RM} -rf ${destdir}/DEBIAN/CVS; \
dpkg-deb -b ${destdir} ${.CURDIR:T:S/_/-/g}.deb; \
${RM} -rf ${destdir}
diff --git a/mk/mkc_imp.dep.mk b/mk/mkc_imp.dep.mk
index bf5c512..85ee413 100644
--- a/mk/mkc_imp.dep.mk
+++ b/mk/mkc_imp.dep.mk
@@ -8,15 +8,13 @@ _MKC_IMP_DEP_MK := 1
DISTCLEANFILES += .depend ${__DPSRCS.d} ${CLEANDEPEND}
##### Basic targets
-.PHONY: _beforedepend depend
-_beforedepend .depend: # ensure existence
-
-.ORDER: _beforedepend .depend
-depend: _beforedepend .depend
+do_depend1 do_depend2: .PHONY # ensure existence
+realdo_depend: do_depend1 .WAIT do_depend2
##### Default values
MKDEP ?= mkdep
MKDEP_SUFFIXES ?= .o .os .op
+MKDEP_CC ?= ${CC}
##### Build rules
# some of the rules involve .h sources, so remove them from mkdep line
@@ -27,7 +25,8 @@ __DPSRCS.all = ${_SRCS_ALL:C/\.(c|m|s|S|C|cc|cpp|cxx)$/.d/} \
__DPSRCS.d = ${__DPSRCS.all:O:u:M*.d}
__DPSRCS.notd = ${__DPSRCS.all:O:u:N*.d}
-_beforedepend: ${DPSRCS}
+do_depend1: ${DPSRCS}
+do_depend2: .depend
MESSAGE.dep ?= @${_MESSAGE} "DEP: ${.TARGET}"
@@ -44,22 +43,22 @@ ddash=
.endif
.if ${MKDEP_TYPE:U} == "makedepend"
-MKDEP.c = @${MAKEDEPEND} -f- ${ddash} ${MKDEPFLAGS} \
+MKDEP.c = ${MAKEDEPEND} -f- ${ddash} ${MKDEPFLAGS} \
${CFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS} > ${.TARGET}
-MKDEP.m = @${MKDEP} -f- ${ddash} ${MKDEPFLAGS} \
+MKDEP.m = ${MKDEP} -f- ${ddash} ${MKDEPFLAGS} \
${OBJCFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS} > ${.TARGET}
-MKDEP.cc = @${MKDEP} -f- ${ddash} ${MKDEPFLAGS} \
+MKDEP.cc = ${MKDEP} -f- ${ddash} ${MKDEPFLAGS} \
${CXXFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS} > ${.TARGET}
-MKDEP.s = @${MKDEP} -f- ${ddash} ${MKDEPFLAGS} \
+MKDEP.s = ${MKDEP} -f- ${ddash} ${MKDEPFLAGS} \
${AFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS} > ${.TARGET}
.else
-MKDEP.c = @${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
+MKDEP.c = ${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
${CFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS}
-MKDEP.m = @${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
+MKDEP.m = ${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
${OBJCFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS}
-MKDEP.cc = @${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
+MKDEP.cc = ${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
${CXXFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS}
-MKDEP.s = @${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
+MKDEP.s = ${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
${AFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} ${CPPFLAGS}
.endif
@@ -76,7 +75,7 @@ MKDEP.s = @${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
.c.d:
${MESSAGE.dep}
- @${MKDEP.c} ${.IMPSRC}
+ @env CC=${MKDEP_CC} ${MKDEP.c} ${.IMPSRC}
.m.d:
${MESSAGE.dep}
@@ -84,11 +83,11 @@ MKDEP.s = @${MKDEP} -f ${.TARGET} ${ddash} ${MKDEPFLAGS} \
.s.d .S.d:
${MESSAGE.dep}
- @${MKDEP.s} ${.IMPSRC}
+ @env CC=${MKDEP_CC} ${MKDEP.s} ${.IMPSRC}
.C.d .cc.d .cpp.d .cxx.d:
${MESSAGE.dep}
- @${MKDEP.cc} ${.IMPSRC}
+ @env CC=${MKDEP_CC} ${MKDEP.cc} ${.IMPSRC}
.endif # defined(SRCS)
diff --git a/mk/mkc_imp.files.mk b/mk/mkc_imp.files.mk
index e1cb16f..40c9f53 100644
--- a/mk/mkc_imp.files.mk
+++ b/mk/mkc_imp.files.mk
@@ -1,4 +1,4 @@
-# Copyright (c) 2009-2010 by Aleksey Cheusov
+# Copyright (c) 2009-2014 by Aleksey Cheusov
# Copyright (c) 1994-2009 The NetBSD Foundation, Inc.
# Copyright (c) 1988, 1989, 1993 The Regents of the University of California
# Copyright (c) 1988, 1989 by Adam de Boor
@@ -10,14 +10,15 @@
.if !defined(_BSD_FILES_MK)
_BSD_FILES_MK := 1
+filesinstall: .PHONY # ensure existence
+
.include <mkc.init.mk>
-.PHONY: filesinstall
-realinstall: filesinstall
+do_install1: .PHONY filesinstall
.if defined(FILES) && !empty(FILES)
-realall: ${FILES}
+realdo_all: ${FILES}
.if ${MKINSTALL:tl} == "yes"
destination_files = ${FILES:@F@${DESTDIR}${FILESDIR_${F}:U${FILESDIR}}/${FILESNAME_${F}:U${FILESNAME:U${F:T}}}@}
@@ -28,8 +29,8 @@ filesinstall: ${destination_files}
__fileinstall: .USE
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} \
- -o ${FILESOWN_${.ALLSRC:T}:U${FILESOWN}} \
- -g ${FILESGRP_${.ALLSRC:T}:U${FILESGRP}} \
+ -o ${FILESOWN_${.ALLSRC:T}:U${FILESOWN}:Q} \
+ -g ${FILESGRP_${.ALLSRC:T}:U${FILESGRP}:Q} \
-m ${FILESMODE_${.ALLSRC:T}:U${FILESMODE}} \
${.ALLSRC} ${.TARGET}
@@ -42,8 +43,4 @@ INSTALLDIRS += ${destination_files:H}
.endif # MKINSTALL
.endif # FILES
-.if !target(filesinstall)
-filesinstall:
-.endif
-
.endif # _BSD_FILES_MK
diff --git a/mk/mkc_imp.final.mk b/mk/mkc_imp.final.mk
index 1b96da3..02fb20d 100644
--- a/mk/mkc_imp.final.mk
+++ b/mk/mkc_imp.final.mk
@@ -29,11 +29,9 @@ export_cmd += MAKEOBJDIR=${.OBJDIR}/${.TARGET:C/^.*-//}; \
.endif
##########
-.if !commands(clean)
-clean: mkc_clean
-.endif
+realdo_clean: mkc_clean
-mkc_clean:
+mkc_clean: .PHONY
.if ${CLEANFILES:U} != ""
-${CLEANFILES_CMD} ${CLEANFILES}
.endif
@@ -43,9 +41,8 @@ mkc_clean:
#####
distclean: cleandir
-.if !commands(cleandir)
-cleandir: mkc_cleandir
-.endif
+
+realdo_cleandir: mkc_cleandir
mkc_cleandir:
.if ${CLEANFILES:U} != "" || ${DISTCLEANFILES:U} != ""
@@ -56,5 +53,17 @@ mkc_cleandir:
.endif
##########
+# pre_, do_, post_ targets
+.for t in ${ALLTARGETS}
+${t}: pre_${t} .WAIT do_${t} .WAIT post_${t}
+pre_${t} do_${t} realdo_${t} post_${t}: .PHONY # ensure existence
+.if !commands(do_${t})
+do_${t}: realdo_${t}
+.endif
+.endfor
+
+${TARGETS}: .PHONY
+
+##########
.endif # MKC_IMP.FINAL.MK
diff --git a/mk/mkc_imp.inc.mk b/mk/mkc_imp.inc.mk
index 0f0a8ba..49e0f6a 100644
--- a/mk/mkc_imp.inc.mk
+++ b/mk/mkc_imp.inc.mk
@@ -7,9 +7,8 @@
# See LICENSE file in the distribution.
############################################################
-.PHONY: incinstall
-realinstall: incinstall
-incinstall: # ensure existence
+do_install1: incinstall
+incinstall: .PHONY # ensure existence
.if defined(INCS)
INCSSRCDIR ?= .
@@ -24,8 +23,8 @@ incinstall: ${destination_incs}
__incinstall: .USE
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} \
- -o ${BINOWN} \
- -g ${BINGRP} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}
+ -o ${BINOWN:Q} \
+ -g ${BINGRP:Q} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}
.for I in ${INCS:O:u}
${DESTDIR}${INCSDIR}/$I: ${"${INCSSRCDIR}" != ".":?${INCSSRCDIR}/$I:$I} __incinstall
diff --git a/mk/mkc_imp.info.mk b/mk/mkc_imp.info.mk
index 3a97ca5..7d3976d 100644
--- a/mk/mkc_imp.info.mk
+++ b/mk/mkc_imp.info.mk
@@ -10,14 +10,14 @@
.if !defined(_MKC_IMP_INFO_MK) && defined(TEXINFO)
_MKC_IMP_INFO_MK := 1
+infoinstall: .PHONY
+
.include <mkc.init.mk>
MAKEINFO ?= makeinfo
INFOFLAGS ?=
INSTALL_INFO ?= install-info
-.PHONY: infoinstall
-
.SUFFIXES: .txi .texi .texinfo .info
MESSAGE.texinfo ?= @${_MESSAGE} "TEXINFO: ${.TARGET}"
@@ -27,32 +27,33 @@ MESSAGE.texinfo ?= @${_MESSAGE} "TEXINFO: ${.TARGET}"
${_V}${MAKEINFO} ${INFOFLAGS} --no-split -o $@ $<
.if defined(TEXINFO) && !empty(TEXINFO)
-realall: ${TEXINFO}
+realdo_all: ${TEXINFO}
+
INFOFILES = ${TEXINFO:S/.texinfo/.info/g:S/.texi/.info/g:S/.txi/.info/g}
.NOPATH: ${INFOFILES}
.if ${MKINFO:tl} != "no"
-realall: ${INFOFILES}
+realdo_all: ${INFOFILES}
CLEANFILES += ${INFOFILES}
destination_infos = ${INFOFILES:@F@${DESTDIR}${INFODIR_${F}:U${INFODIR}}/${INFONAME_${F}:U${INFONAME:U${F:T}}}@}
-infoinstall:: ${destination_infos}
+infoinstall: ${destination_infos}
.PRECIOUS: ${destination_infos}
.PHONY: ${destination_infos}
__infoinstall: .USE
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} \
- -o ${INFOOWN_${.ALLSRC:T}:U${INFOOWN}} \
- -g ${INFOGRP_${.ALLSRC:T}:U${INFOGRP}} \
+ -o ${INFOOWN_${.ALLSRC:T}:U${INFOOWN}:Q} \
+ -g ${INFOGRP_${.ALLSRC:T}:U${INFOGRP}:Q} \
-m ${INFOMODE_${.ALLSRC:T}:U${INFOMODE}} \
${.ALLSRC} ${.TARGET}
@${INSTALL_INFO} --remove --info-dir=${DESTDIR}${INFODIR} ${.TARGET}
${INSTALL_INFO} --info-dir=${DESTDIR}${INFODIR} ${.TARGET}
.if ${MKINSTALL:tl} == "yes"
-realinstall: infoinstall
+do_install1: infoinstall
.for F in ${INFOFILES:O:u}
${DESTDIR}${INFODIR_${F}:U${INFODIR}}/${INFONAME_${F}:U${INFONAME:U${F:T}}}: ${F} __infoinstall
.endfor # F
diff --git a/mk/mkc_imp.intexts.mk b/mk/mkc_imp.intexts.mk
index cdfb2a4..225b17d 100644
--- a/mk/mkc_imp.intexts.mk
+++ b/mk/mkc_imp.intexts.mk
@@ -46,7 +46,8 @@ ${i:T} : ${i}.in
.endfor
CLEANFILES += ${INSCRIPTS:T} ${INFILES:T}
-realall: ${INSCRIPTS:T} ${INFILES:T}
+
+realdo_all: ${INSCRIPTS:T} ${INFILES:T}
######################################################################
.endif # _MKC_IMP_INTEXTS_MK
diff --git a/mk/mkc_imp.lib.mk b/mk/mkc_imp.lib.mk
index 2ff6ab4..c5ea8d4 100644
--- a/mk/mkc_imp.lib.mk
+++ b/mk/mkc_imp.lib.mk
@@ -12,7 +12,7 @@ _MKC_IMP_LIB_MK := 1
.PHONY: libinstall
.if ${MKINSTALL:tl} == "yes"
-realinstall: libinstall
+do_install1: libinstall
INSTALLDIRS += ${DESTDIR}${LIBDIR}
UNINSTALLFILES += ${UNINSTALLFILES.lib}
.endif # MKINSTALL
@@ -67,7 +67,7 @@ _LIBS += ${SHLIBFN}
.NOPATH: ${_LIBS}
-realall: ${SRCS} ${_LIBS}
+realdo_all: ${SRCS} ${_LIBS}
_SRCS_ALL = ${SRCS}
@@ -78,8 +78,8 @@ __archivebuild: .USE
${RANLIB} ${.TARGET}
__archiveinstall: .USE
- ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} \
- -g ${LIBGRP} -m ${LIBMODE} ${.ALLSRC} ${.TARGET}
+ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN:Q} \
+ -g ${LIBGRP:Q} -m ${LIBMODE} ${.ALLSRC} ${.TARGET}
DPSRCS += ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
CLEANFILES += ${DPSRCS}
@@ -166,8 +166,8 @@ UNINSTALLFILES.lib += ${DESTDIR}${LIBDIR}/lib${LIB}${SHLIB_EXT} \
.endif
${DESTDIR}${LIBDIR}/${SHLIBFN}: ${SHLIBFN}
- ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} \
- -g ${LIBGRP} -m ${SHLIBMODE} ${.ALLSRC} ${.TARGET}
+ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN:Q} \
+ -g ${LIBGRP:Q} -m ${SHLIBMODE} ${.ALLSRC} ${.TARGET}
.if ${OBJECT_FMT} == "a.out" && !defined(DESTDIR) && ${MKDLL:tl} == "no"
/sbin/ldconfig -m ${LIBDIR}
.endif
diff --git a/mk/mkc_imp.links.mk b/mk/mkc_imp.links.mk
index c9f6eb3..00cbec1 100644
--- a/mk/mkc_imp.links.mk
+++ b/mk/mkc_imp.links.mk
@@ -6,10 +6,9 @@
.if !defined(_MKC_IMP_LINKS_MK)
_MKC_IMP_LINKS_MK := 1
-.PHONY: linksinstall
-linksinstall:
+linksinstall: .PHONY # ensure existence
-realinstall2: linksinstall
+do_install2: linksinstall
.if ${MKINSTALL:tl} == "yes"
diff --git a/mk/mkc_imp.man.mk b/mk/mkc_imp.man.mk
index 15203d4..c66f056 100644
--- a/mk/mkc_imp.man.mk
+++ b/mk/mkc_imp.man.mk
@@ -34,7 +34,7 @@ MKCATPAGES = no
.PHONY: catinstall maninstall catpages manpages catlinks \
manlinks html installhtml
.if ${MKMAN:tl} != "no"
-realinstall: ${MANINSTALL}
+do_install1: ${MANINSTALL}
.endif
MANTARGET ?= cat
@@ -68,7 +68,7 @@ TBL ?= tbl
.endif
.if defined(MAN) && !empty(MAN)
-realall: ${MAN}
+realdo_all: ${MAN}
MANPAGES = ${MAN}
CATPAGES = ${MANPAGES:C/(.*).([1-9])/\1.cat\2/}
CLEANFILES += ${CATPAGES}
@@ -77,7 +77,7 @@ HTMLPAGES = ${MANPAGES:C/(.*).([1-9])/\1.html\2/}
.endif
MINSTALL = ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} \
- -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
+ -o ${MANOWN:Q} -g ${MANGRP:Q} -m ${MANMODE}
.if defined(MANZ)
# chown and chmod are done afterward automatically
@@ -92,7 +92,7 @@ __installpage: .USE
.if defined(MCOMPRESS) && !empty(MCOMPRESS)
@${RM} -f ${.TARGET}
${MCOMPRESS} ${.ALLSRC} > ${.TARGET}
- @chown ${MANOWN}:${MANGRP} ${.TARGET}
+ @chown ${MANOWN:Q}:${MANGRP:Q} ${.TARGET}
@chmod ${MANMODE} ${.TARGET}
.else
${MINSTALL} ${.ALLSRC} ${.TARGET}
@@ -101,7 +101,7 @@ __installpage: .USE
# Rules for cat'ed man page installation
.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES:tl} != "no"
-realall: ${CATPAGES}
+realdo_all: ${CATPAGES}
.if ${MKINSTALL:tl} == "yes"
destination_capages = ${CATPAGES:@P@${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}@}
@@ -177,13 +177,11 @@ installhtml: ${destination_htmls}
CLEANFILES += ${HTMLPAGES}
.if ${MKHTML:tl} == "yes"
-realinstall: installhtml
-realall: ${HTMLPAGES}
+do_install1: installhtml
+realdo_all: ${HTMLPAGES}
UNINSTALLFILES += ${destination_htmls}
INSTALLDIRS += ${destination_htmls:H}
.endif # MKHTML
.endif # HTMLPAGES
-realall:
-
.endif # _MKC_IMP_MAN_MK
diff --git a/mk/mkc_imp.mk b/mk/mkc_imp.mk
index 1979748..def92ea 100644
--- a/mk/mkc_imp.mk
+++ b/mk/mkc_imp.mk
@@ -16,36 +16,32 @@ SUBPRJ += ${SUBPRJS} # for backward compatility only, use SUBPRJ!
_use_prog := 1
.endif
-.if defined(_use_prog) || defined(LIB)
.include <mkc_imp.lua.mk>
.include <mkc_imp.pod.mk>
-.endif # _use_prog || LIB
.include <mkc.init.mk>
.include <mkc_imp.rules.mk>
.include <mkc_imp.obj.mk>
# Make sure all of the standard targets are defined, even if they do nothing.
-.PHONY: ${TARGETS} realinstall realinstall2 realall
-${TARGETS} realinstall realinstall2 realall:
-
-distclean: cleandir
+do_install1 do_install2: .PHONY
-all: realall
+distclean: .PHONY cleandir
.if ${MKINSTALLDIRS:tl} == "yes"
-install: installdirs .WAIT realinstall .WAIT realinstall2
-.else
-install: realinstall .WAIT realinstall2
+install: pre_installdirs .WAIT do_installdirs .WAIT post_installdirs .WAIT \
+ pre_install .WAIT do_install .WAIT post_install
.endif
+realdo_install: do_install1 .WAIT do_install2
+
# skip uninstalling files and creating destination dirs for mkc.subprj.mk
.if !defined(SUBPRJ)
-uninstall:
+realdo_uninstall:
-${UNINSTALL} ${UNINSTALLFILES}
-installdirs:
+realdo_installdirs:
for d in _ ${INSTALLDIRS:O:u:S|/.$||}; do \
test "$$d" = _ || ${INSTALL} -d -m ${DIRMODE} "$$d"; \
done
@@ -73,7 +69,7 @@ print-values2 :
.endfor
###########
-.PHONY: realall realerrorcheck
+.PHONY: realerrorcheck
__errorcheck: .USE
@if test -n '${MKC_ERR_MSG}'; then \
@@ -87,7 +83,7 @@ __errorcheck: .USE
exit $$ex; \
fi
-realall : realerrorcheck
+do_all : realerrorcheck
realerrorcheck: __errorcheck
.include <mkc_imp.checkprogs.mk>
@@ -123,21 +119,11 @@ CFLAGS += ${MKC_FEATURES:D-I${FEATURESDIR}}
########################################
.if defined(SUBPRJ)
.include <mkc_imp.subprj.mk>
-
-#
-.PHONY: subprj-clean subprj-distclean
-clean: subprj-clean
-subprj-clean:
- -${CLEANFILES_CMD} -f ${CLEANFILES}
-cleandir: subprj-distclean
-subprj-distclean:
- -${CLEANFILES_CMD} ${DISTCLEANFILES}
-
.endif # SUBPRJ
########################################
.include <mkc_imp.arch.mk>
-.include <mkc_imp.final.mk>
-#
.endif # MKC_ERR_MSG
+
+.include <mkc_imp.final.mk>
diff --git a/mk/mkc_imp.pkg-config.mk b/mk/mkc_imp.pkg-config.mk
index a77073a..85d5417 100644
--- a/mk/mkc_imp.pkg-config.mk
+++ b/mk/mkc_imp.pkg-config.mk
@@ -42,8 +42,8 @@ LDADD.pkg-config.${_ln} != env ${mkc.environ} mkc_check_custom \
${PROG.pkg-config} --libs "${_lp}"
.endif # LDADD.pkg-config.${l}
-MKC_CPPFLAGS += ${CPPFLAGS.pkg-config.${_ln}}
-MKC_LDADD += ${LDADD.pkg-config.${_ln}}
+MKC_CPPFLAGS := ${MKC_CPPFLAGS} ${CPPFLAGS.pkg-config.${_ln}}
+MKC_LDADD := ${MKC_LDADD} ${LDADD.pkg-config.${_ln}}
.endif # PROGS || LIB
.for i in ${PKG_CONFIG_VARS.${_ln}}
@@ -54,7 +54,7 @@ PKG_CONFIG.var.${_ln}.${i} != env ${mkc.environ} mkc_check_custom \
.endif # PKG_CONFIG.var.${_ln}.${i}
.endfor # i
-MKC_CFLAGS += -DHAVE_PKCONFIG_${_id:S/-/_/g:S/+/P/g:S/./_/g}=1
+MKC_CFLAGS := ${MKC_CFLAGS} -DHAVE_PKGCONFIG_${_id:S/-/_/g:S/+/P/g:S/./_/g}=1
.elif !empty(MKC_REQUIRE_PKGCONFIG:M${l})
MKC_ERR_MSG := ${MKC_ERR_MSG} "%%%: ${MKC_CACHEDIR}/_mkc_pkgconfig_${_ln}.err"
diff --git a/mk/mkc_imp.platform.sys.mk b/mk/mkc_imp.platform.sys.mk
index bbf5aac..90fee7f 100644
--- a/mk/mkc_imp.platform.sys.mk
+++ b/mk/mkc_imp.platform.sys.mk
@@ -103,11 +103,12 @@ CPPFLAGS += ${CPPFLAGS.${TARGET_OPSYS}:U}
############################################################
# CC compiler type
.if make(cleandir) || make(distclean) || make(clean)
-.elif ${MKCHECKS:Uno:tl} == "yes" && !defined(CC_TYPE) && (defined(PROGS) || defined(LIB))
+.elif ${MKCHECKS:Uno:tl} == "yes" && !defined(CC_TYPE) && (defined(PROGS) || defined(LIB) || defined(MKC_CHECK_PROTOTYPES))
mkc.cc_type.environ = CC='${CC}' CXX='${CXX}' CPPFLAGS='${CPPFLAGS}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' LDADD='${LDADD}' MKC_CACHEDIR='${MKC_CACHEDIR}' MKC_DELETE_TMPFILES='${MKC_DELETE_TMPFILES}' MKC_SHOW_CACHED='${MKC_SHOW_CACHED}' MKC_NOCACHE='${MKC_NOCACHE}' MKC_VERBOSE=1
.if !empty(src_type:Mc)
CC_TYPE != env ${mkc.cc_type.environ} mkc_check_compiler
-.elif !empty(src_type:Mcxx)
+.endif
+.if !empty(src_type:Mcxx)
CXX_TYPE != env ${mkc.cc_type.environ} mkc_check_compiler -x
.endif # src_type
.endif # cleandir|distclean|...
@@ -120,11 +121,13 @@ CXX_TYPE ?= unknown
# C
CFLAGS.dflt.clang = -Qunused-arguments
+CFLAGS.dflt.icc = -we147 # 147 is required for MKC_CHECK_PROTOTYPES
CFLAGS += ${CFLAGS.dflt.${CC_TYPE}}
# C++
CXXFLAGS.dflt.clang = ${CFLAGS.dflt.clang}
+CXXFLAGS.dflt.icc = -we147
CXXFLAGS += ${CXXFLAGS.dflt.${CXX_TYPE}}
@@ -208,8 +211,8 @@ CXXFLAGS.warns.hpc.4 = ${CFLAGS.warns.hpc.4}
####################
-CFLAGS += ${CFLAGS.warns.${CC_TYPE}.${WARNS}}
-CXXFLAGS += ${CXXFLAGS.warns.${CXX_TYPE}.${WARNS}}
+CFLAGS.warns = ${CFLAGS.warns.${CC_TYPE}.${WARNS}} ${CFLAGS.warnerr}
+CXXFLAGS.warns = ${CXXFLAGS.warns.${CXX_TYPE}.${WARNS}} ${CXXFLAGS.warnerr}
####################
CFLAGS.pic.gcc.Interix =
@@ -233,7 +236,7 @@ CFLAGS.pie.icc = -fPIE -DPIC
CFLAGS.pie.clang = -fPIE -DPIC
CFLAGS.pie ?= ${CFLAGS.pie.${CC_TYPE}.${TARGET_OPSYS}:U${CFLAGS.pie.${CC_TYPE}}:U${CFLAGS.pic}}
-CXXFLAGS.pie ?= ${CFLAGS.pie.${CC_TYPE}.${TARGET_OPSYS}:U${CFLAGS.pie.${CC_TYPE}}:U${CXXFLAGS.pic}}
+CXXFLAGS.pie ?= ${CFLAGS.pie.${CC_TYPE}.${TARGET_OPSYS}:U${CFLAGS.pie.${CXX_TYPE}}:U${CXXFLAGS.pic}}
####################
CFLAGS.ssp.gcc = -fstack-protector -Wstack-protector --param ssp-buffer-size=1
diff --git a/mk/mkc_imp.prog.mk b/mk/mkc_imp.prog.mk
index fc4f952..b634564 100644
--- a/mk/mkc_imp.prog.mk
+++ b/mk/mkc_imp.prog.mk
@@ -10,17 +10,16 @@
.if !defined(_MKC_IMP_PROG_MK)
_MKC_IMP_PROG_MK := 1
-.PHONY: proginstall
-proginstall:
+proginstall: .PHONY # ensure existence
CFLAGS += ${COPTS}
__proginstall: .USE
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${STRIPFLAG} \
- -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ${.ALLSRC} ${.TARGET}
+ -o ${BINOWN:Q} -g ${BINGRP:Q} -m ${BINMODE} ${.ALLSRC} ${.TARGET}
.for p in ${PROGS}
-realinstall: proginstall
+do_install1: proginstall
_SRCS_ALL += ${SRCS.${p}}
@@ -71,7 +70,7 @@ CLEANFILES += ${OBJS.${p}}
.endfor # ${PROGS}
-realall: ${PROGS}
+realdo_all: ${PROGS}
CLEANFILES += ${PROGS}
diff --git a/mk/mkc_imp.scripts.mk b/mk/mkc_imp.scripts.mk
index f066275..1d53b48 100644
--- a/mk/mkc_imp.scripts.mk
+++ b/mk/mkc_imp.scripts.mk
@@ -1,4 +1,4 @@
-# Copyright (c) 2009-2010 by Aleksey Cheusov
+# Copyright (c) 2009-2014 by Aleksey Cheusov
# Copyright (c) 1994-2009 The NetBSD Foundation, Inc.
# Copyright (c) 1988, 1989, 1993 The Regents of the University of California
# Copyright (c) 1988, 1989 by Adam de Boor
@@ -10,10 +10,10 @@
.if !defined(_MKC_IMP_SCRIPTS_MK)
_MKC_IMP_SCRIPTS_MK := 1
-.PHONY: scriptsinstall
-realinstall: scriptsinstall
+scriptsinstall: .PHONY # ensure existence
+do_install1: scriptsinstall
-realall: ${SCRIPTS}
+realdo_all: ${SCRIPTS}
.if defined(SCRIPTS)
.if ${MKINSTALL:tl} == "yes"
@@ -22,14 +22,14 @@ UNINSTALLFILES += ${destination_scripts}
INSTALLDIRS += ${destination_scripts:H}
.endif # MKINSTALL
-scriptsinstall:: ${destination_scripts}
+scriptsinstall: ${destination_scripts}
.PRECIOUS: ${destination_scripts}
.PHONY: ${destination_scripts}
__scriptinstall: .USE
${INSTALL} ${RENAME} ${PRESERVE} ${COPY} \
- -o ${SCRIPTSOWN_${.ALLSRC:T}:U${SCRIPTSOWN}} \
- -g ${SCRIPTSGRP_${.ALLSRC:T}:U${SCRIPTSGRP}} \
+ -o ${SCRIPTSOWN_${.ALLSRC:T}:U${SCRIPTSOWN}:Q} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}:U${SCRIPTSGRP}:Q} \
-m ${SCRIPTSMODE_${.ALLSRC:T}:U${SCRIPTSMODE}} \
${.ALLSRC} ${.TARGET}
@@ -37,8 +37,6 @@ __scriptinstall: .USE
${DESTDIR}${SCRIPTSDIR_${S:S|/|_|g}:U${SCRIPTSDIR}}/${SCRIPTSNAME_${S:S|/|_|g}:U${SCRIPTSNAME:U${S:T}}}: ${S} __scriptinstall
.endfor
-.else # defined(SCRIPTS)
-scriptsinstall:
.endif # defined(SCRIPTS)
.endif # _MKC_IMP_SCRIPTS_MK
diff --git a/mk/mkc_imp.subprj.mk b/mk/mkc_imp.subprj.mk
index d4beee3..4eb491e 100644
--- a/mk/mkc_imp.subprj.mk
+++ b/mk/mkc_imp.subprj.mk
@@ -93,9 +93,6 @@ _ALLTARGDEPS := ${_ALLTARGDEPS:N${excl}}
${prjtarg}: ${deptarg}
.endfor
-# Make sure all of the standard targets are defined, even if they do nothing.
-${TARGETS}:
-
.PHONY: print_deps
print_deps:
.for i in ${_ALLTARGDEPS} ${_ALLTARGDEPS2} ${_ALLTARGDEPS3} ${TARGETS}