diff options
Diffstat (limited to 'tools/build-automation/Makefile')
| -rw-r--r-- | tools/build-automation/Makefile | 82 |
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" |
