summaryrefslogtreecommitdiff
path: root/tools/build-automation/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build-automation/Makefile')
-rw-r--r--tools/build-automation/Makefile82
1 files changed, 5 insertions, 77 deletions
diff --git a/tools/build-automation/Makefile b/tools/build-automation/Makefile
index 535e24528ba7..e22a3dc58fbb 100644
--- a/tools/build-automation/Makefile
+++ b/tools/build-automation/Makefile
@@ -1,82 +1,10 @@
-# $Id: Makefile 2563 2012-09-01 14:31:42Z jkoshy $
+# $Id: Makefile 3588 2018-02-26 10:03:02Z jkoshy $
#
-# The same 'source' for a literate program is used to build both
-# documentation and the program itself.
-#
-# Keeping the build rules for program code and documentation in
-# separate Makefiles help to keep each rule set simple.
+# Yet Another Build System.
TOP= ../..
-# The literate program input, in order of presentation in the
-# generated text.
-NW_SRCS= introduction.nw
-NW_SRCS+= userguide.nw
-NW_SRCS+= implementation.nw
-NW_SRCS+= slave.nw
-NW_SRCS+= master.nw
-NW_SRCS+= utilities.nw
-
-NW_ROOTS!= noroots ${NW_SRCS} /dev/null | sed -e 's:<<::' -e 's:>>::'
-
-# The name of the document's base file.
-DOC= build-system
-
-PROGRAMDIRS= master slave
-
-SUBMAKEFILES= documentation manuals program
-
-# Declare make targets with special characteristics.
-.MAIN: all
-.PHONY: all clean clobber index install test
-
-# Capture actions shared by multiple targets in a macro.
-.dosubmake: .USE
-.for rules in ${SUBMAKEFILES}
- @${MAKE} -f Makefile.${rules} ${.TARGET} NW_SRCS="${NW_SRCS}" \
- DOC=${DOC} TOP="${TOP}"
-.endfor
-
-# Standard targets.
-all: ${PROGRAMDIRS} ${NW_ROOTS} ${DOC}.tex .dosubmake
-install: all .dosubmake
-clean: .dosubmake
- rm -f ${CLEANFILES}
-
-# Create the directories holding the program source code, if needed.
-${PROGRAMDIRS}: .SILENT
- [ -d ${.TARGET} ] || mkdir ${.TARGET}
-
-# Extract all program 'root chunks' from the literate program inputs.
-.for n in ${NW_ROOTS}
-$n: ${NW_SRCS}
- @tmpfile=`mktemp /tmp/mba.XXXXXXX`; \
- trap "rm $${tmpfile}" 0 1 2 3 15; \
- notangle -L -R${.TARGET} ${NW_SRCS} > $${tmpfile} || exit $$?; \
- cpif ${.TARGET} < $${tmpfile}
-CLEANFILES+= $n
-.endfor
-
-# Create a single TeX file holding the material to be typeset.
-# By passing the complete literate program as input to 'noweave', we
-# avoid noweb's limitation on chunk names having file scope.
-${DOC}.tex: ${DOC}.pre.nw ${NW_SRCS} ${DOC}.post.nw
- cat ${.ALLSRC} | noweave -delay -index | cpif ${.TARGET}
-
-#
-# Special targets.
-#
-
-# The 'index' target only applies to the documentation.
-index:
- @${MAKE} -f Makefile.documentation ${.TARGET} NW_SRCS="${NW_SRCS}" \
- TOP="${TOP}"
-
-# The 'test' target only applies to the programs.
-test:
- @${MAKE} -f Makefile.program ${.TARGET} NW_SRCS="${NW_SRCS}" \
- TOP="${TOP}"
+SUBDIR= controller \
+ executor
-# Provide a 'clobber' target that goes beyond 'clean'.
-clobber: clean
- rm -rf ${PROGRAMDIRS}
+.include "${TOP}/mk/elftoolchain.subdir.mk"