From: g0dil Date: Fri, 13 Aug 2010 12:31:06 +0000 (+0000) Subject: clean up Makefile and add some new-user help to the Makefile (and scons) X-Git-Url: http://g0dil.de/git?p=senf.git;a=commitdiff_plain;h=66e16cf42adc7afb67b3df8986932f6df649ab86 clean up Makefile and add some new-user help to the Makefile (and scons) git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1684 270642c3-0616-0410-b53a-bc976706d245 --- diff --git a/Makefile b/Makefile index d838e92..8aa0222 100644 --- a/Makefile +++ b/Makefile @@ -1,74 +1,42 @@ #---------------------------------------------------------------------- # Some SCONS shortcuts #---------------------------------------------------------------------- -CONCURRENCY_LEVEL ?= $(shell grep process /proc/cpuinfo | wc -l) -ifdef nice - SCONS_ARGS += CXX='nice -n $(nice) g++' -endif -ifdef final - SCONS_ARGS += "final="$(final) -endif -ifdef debug - SCONS_ARGS += "debug="$(debug) -endif - -SCONS=./tools/scons -j $(CONCURRENCY_LEVEL) $(SCONS_ARGS) +SCONS=./tools/scons # DON'T call this default ... default is a valid scons target ;-) build: default +.PHONY: build -TARGETS := prepare default examples all_tests all_docs all install_all \ - deb debsrc debbin linklint fixlinks valgrind lcov -ALLTARGETS := $(TARGETS) package build - -$(TARGETS): - $(SCONS) $@ - -clean: +clean: message $(SCONS) --clean all +.PHONY: clean -package: deb -test_coverage: lcov - -#---------------------------------------------------------------------- -# subdirectory build targets -#---------------------------------------------------------------------- +Makefile: + @true -%/test %/doc: +# Forward everything else to scons +%: message $(SCONS) $@ -%/build: - $(SCONS) $* - -#---------------------------------------------------------------------- -# remote compile targets -#---------------------------------------------------------------------- - -CWD = $(shell pwd) -$(ALLTARGETS:%=%@%): - ssh $* "cd $(CWD) && $(MAKE) SCONS_ARGS=\"$(SCONS_ARGS)\" $(firstword $(subst @, ,$@))" - -#---------------------------------------------------------------------- -# Subversion stuff -#---------------------------------------------------------------------- - -svn_version: - @v=`svnversion`; if [ $$v=="exported" ]; then gitsvnversion else echo $v; fi - -version: svn_version - -#---------------------------------------------------------------------- -# Building SENF requires some debian packages -#---------------------------------------------------------------------- -DEB_BASE = build-essential - -# This line parses the 'Build-Depends' entry from debian/control -DEB_SENF = $(shell perl -alnF'[:,]' -e ' \ - BEGIN{$$,=" "} END{splice @R,0,1; print @R} \ - map {s/\(.*\)|\|.*//; s/[ \n\t]//g} @F; \ - push @R,grep {/./} @F if (/^Build-Depends:/i.../^\S/)!~/(^|E0)$$/;' \ - debian/control) +message: + @echo "=================================================================" + @echo "SENF uses SCons as it's build system, so instead of calling" + @echo " $$ make " + @echo + @echo "use" + @echo " $$ ./tools/scons " + @echo + @echo "To get help on valid targets an configuration variables, call" + @echo " $$ ./tools/scons -h" + @echo + @echo "To get help on scons command line options, call" + @echo " $$ ./tools/scons -H" + @echo + @echo "(interesting options: -c, -U, -j , --config=force)" + @echo "=================================================================" + sleep 5 prerequisites: - aptitude install $(DEB_BASE) $(DEB_SENF) + ./debian/install-depends.sh +.PHONY: prerequisites diff --git a/SConstruct b/SConstruct index 873892b..da124b8 100644 --- a/SConstruct +++ b/SConstruct @@ -275,3 +275,10 @@ for target in COMMAND_LINE_TARGETS: args.append('-u') env.PhonyTarget(target, [], [ "ssh $HOST scons $SCONSARGS -C $DIR $RTARGET" ], HOST=host, RTARGET=realtarget, DIR=cwd, SCONSARGS=args) + +env.PhonyTarget('clean', [], [ + lambda **args: sys.stderr.write( + "=================================================================\n" + "'clean' is not a valid target. Instead, use\n" + " $ scons -c all\n" + "=================================================================\n") ])