X-Git-Url: http://g0dil.de/git?p=senf.git;a=blobdiff_plain;f=Makefile;h=8aa0222563702ca402126ff45f43b8306e13caa1;hp=d838e92466909df02f1ed7766e91bd511330d251;hb=HEAD;hpb=39447d83ae68fe219e4a76970e7d29a936242d28 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