From da4770474c6b9aab49242d0012dfd4497250b484 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Wed, 25 Apr 2018 18:37:39 +0200 Subject: Makefile targets: Rewriting and consolidating the target structure for nx-X11/ subdir (except nx-X11/lib/). --- Makefile | 42 ++++++++---------- nx-X11/Makefile | 133 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 85 insertions(+), 90 deletions(-) diff --git a/Makefile b/Makefile index 87f623491..14d4a5ccd 100644 --- a/Makefile +++ b/Makefile @@ -65,26 +65,24 @@ NX_XTRANS_HEADERS = \ Xtransutil.c \ $(NULL) -%: - if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp "$@"; fi - if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy "$@"; fi - if test -d nx-X11; then \ - if test -f nx-X11/lib/Makefile; then ${MAKE} -C nx-X11/lib "$@"; fi; \ - if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad "$@"; fi; \ - if test -f nx-X11/Makefile; then ${MAKE} -C nx-X11 "$@"; fi; \ - fi - - # clean auto-generated files - if [ "x$@" == "xclean" ] || [ "x$@" = "xdistclean" ]; then \ - if [ -x ./mesa-quilt ]; then ./mesa-quilt pop -a; fi; \ - rm -Rf nx-X11/extras/Mesa/.pc/; \ - rm -f nx-X11/config/cf/nxversion.def; \ - rm -f nx-X11/config/cf/date.def; \ - ${MAKE} clean-env; \ - fi - -all: - ${MAKE} build +all: build + +clean: + if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp clean; fi + if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy clean; fi + if test -f nx-X11/lib/Makefile; then ${MAKE} -C nx-X11/lib clean; fi + if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad clean; fi + if test -d nx-X11; then ${MAKE} clean-env; fi + +distclean: clean + if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp distclean; fi + if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy distclean; fi + if test -f nx-X11/lib/Makefile; then ${MAKE} -C nx-X11/lib distclean; fi + if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad distclean; fi + if test -d nx-X11; then ${MAKE} -C nx-X11 distclean; fi + if [ -x ./mesa-quilt ]; then ./mesa-quilt pop -a; fi + rm -Rf nx-X11/extras/Mesa/.pc/ + rm -f nx-X11/config/cf/nxversion.def test: echo "No testing for NX (redistributed)" @@ -126,9 +124,7 @@ clean-env: version [ -d exports/include/nx-X11/Xtrans ] && $(RM_DIR) exports/include/nx-X11/Xtrans/ || : [ -d exports/include/nx-X11/ ] && $(RM_DIR) exports/include/nx-X11/ || : - # no parallel clean-up in nx-X11, it fails... - # see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895540 - ${MAKE} -j1 -C nx-X11 CleanEnv FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES)" + ${MAKE} -C nx-X11 clean FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES)" build-lite: cd nxcomp && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE} diff --git a/nx-X11/Makefile b/nx-X11/Makefile index c9f79c611..364a3ac9f 100644 --- a/nx-X11/Makefile +++ b/nx-X11/Makefile @@ -24,8 +24,8 @@ MAKE_OPTS = -f xmakefile MAKE_CMD = $(MAKE) $(MAKE_OPTS) all: - @${MAKE_CMD} xmakefile-exists || $(MAKE) all-initial - @${MAKE_CMD} $@ + @${MAKE} ${MAKE_OPTS} xmakefile-exists || $(MAKE) all-initial + @${MAKE} ${MAKE_OPTS} $@ all-initial: @echo Please use make World, or on NT use nmake World.Win32. @@ -33,57 +33,44 @@ all-initial: @echo Read the release notes carefully before proceeding. @echo Do not name your log file make.log or it will be deleted. -World: +World: BuildEnv @echo "" @echo Building $(RELEASE). @echo "" @date @echo "" - if [ ! -f xmakefile ]; then ${MAKE} ${MFLAGS} BuildEnv; fi - ${MAKE_CMD} $(MFLAGS) $(WORLDOPTS) World + ${MAKE} ${MAKE_OPTS} $(MFLAGS) $(WORLDOPTS) World @echo "" @date @echo "" @echo Full build of $(RELEASE) complete. @echo "" -CleanEnv: - @if [ -f xmakefile ]; then \ - ${MAKE_CMD} -k distclean || \ - ${MAKE_CMD} -k clean || \ - $(RM) xmakefile; \ - fi - @rm -f $(IRULESRC)/date.def; echo "" > $(IRULESRC)/date.def; - which $(IMAKE) 1>/dev/null && ${MAKE} $(MFLAGS) xmakefile || : - @if [ -f xmakefile ]; then \ - ${MAKE_CMD} $(MFLAGS) VerifyOS; \ - ${MAKE_CMD} $(MFLAGS) Makefiles; \ - ${MAKE_CMD} $(MFLAGS) BOOTSTRAPSUBDIRS= clean; \ - fi +CleanEnv: SetupEnv + ${MAKE} ${MAKE_OPTS} -k clean + rm -f $(IRULESRC)/date.def; echo "" > $(IRULESRC)/date.def; -BuildEnv: CleanEnv BuildIncludes BuildDependsOnly +SetupEnv: xmakefile VerifyOS Makefiles -BuildIncludes: CleanEnv - ${MAKE_CMD} $(MFLAGS) includes +BuildEnv: SetupEnv BuildIncludes BuildDependsOnly -BuildDependsOnly: - ${MAKE_CMD} $(MFLAGS) depend +BuildIncludes: SetupEnv includes -.PRECIOUS: Makefile - -# This is just a sequence of bootstrapping steps we have to do. -# The steps are listed as separate targets so clearmake can wink in -# the Makefile.proto files. +BuildDependsOnly: SetupEnv depend Makefile:: $(MAKE) $(MFLAGS) xmakefile +.PRECIOUS: Makefile -xmakefile: Imakefile - @if [ -f xmakefile ]; then set -x; \ - $(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak; \ - else exit 0; fi - @rm -f $(IRULESRC)/date.def; echo "" > $(IRULESRC)/date.def; - $(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) +xmakefile: + if [ -f xmakefile ]; then \ + set -x; \ + $(RM) xmakefile.bak; \ + $(MV) xmakefile xmakefile.bak; \ + else \ + exit 0; \ + fi + which $(IMAKE) 1>/dev/null && $(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) # don't allow any default rules in this Makefile .SUFFIXES: @@ -92,36 +79,48 @@ xmakefile: Imakefile # a copy of every rule that might be invoked at top level -clean: - -${MAKE_CMD} $@ - find config lib programs include -type f -name Makefile | while read makefile; do rm -f $$makefile; done - -dangerous_strip_clean: - ${MAKE_CMD} $@ -distclean: - -${MAKE_CMD} $@ - $(RM) xmakefile -depend: - ${MAKE_CMD} $@ -Everything: - ${MAKE_CMD} $@ -external.ln: - ${MAKE_CMD} $@ -includes: - ${MAKE_CMD} $@ -install.sdk: - ${MAKE_CMD} $@ -install.ln: - ${MAKE_CMD} $@ -install.man: - ${MAKE_CMD} $@ -install: - ${MAKE_CMD} $@ -Makefiles: - ${MAKE_CMD} $@ -man_keywords: - ${MAKE_CMD} $@ -tags: - ${MAKE_CMD} $@ -VerifyOS: - ${MAKE_CMD} $@ +clean: CleanEnv + +dangerous_strip_clean: xmakefile + ${MAKE} ${MAKE_OPTS} $@ + +distclean: clean + -${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + find config programs include -type f -name Makefile | while read makefile; do rm -f $$makefile; done + $(RM) xmakefile + +depend: xmakefile + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +Everything: SetupEnv + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +external.ln: xmakefile + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +includes: xmakefile VerifyOS Makefiles + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +install.sdk: SetupEnv + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +install.ln: SetupEnv + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +install.man: SetupEnv + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +install: SetupEnv + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +Makefiles: xmakefile VerifyOS + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +man_keywords: SetupEnv + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +tags: xmakefile + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ + +VerifyOS: xmakefile + ${MAKE} ${MAKE_OPTS} ${MFLAGS} $@ -- cgit v1.2.3