minor fixes for clang++
[senf.git] / Makefile
index acbd708..8aa0222 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,87 +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
-ifdef profile
-  SCONS_ARGS += "profile="$(profile)
-endif
+SCONS=./tools/scons
 
-SCONS=scons -j $(CONCURRENCY_LEVEL) $(SCONS_ARGS)
+# DON'T call this default ... default is a valid scons target ;-)
+build: default
+.PHONY: build
 
-default: build
-
-build:
-       $(SCONS)
-
-clean:
+clean: message
        $(SCONS) --clean all
-       find ./ -name \*.gcno | xargs rm -f
-       find ./ -name \*.gcda | xargs rm -f
-       find ./ -name \*.gcov | xargs rm -f
-       rm -f test_coverage.info
-       rm -rf /doc/test_coverage
-
-all_docs all_tests all:
-       $(SCONS) $@
-       
-%/test %/doc:
-       $(SCONS) $@
-
-%/build:
-       $(SCONS) $*
-
-#----------------------------------------------------------------------
-# remote compile targets
-#----------------------------------------------------------------------
-all@% all_docs@% all_tests@% build@%:
-       ssh $* "cd `pwd` && $(MAKE) SCONS_ARGS=\"$(SCONS_ARGS)\" $(firstword $(subst @, ,$@))"
+.PHONY: clean
 
-       
-#----------------------------------------------------------------------
-# test coverage
-#----------------------------------------------------------------------
-test_coverage:
-       $(SCONS) debug=1 EXTRA_CCFLAGS="-fprofile-arcs -ftest-coverage" EXTRA_LIBS="gcov" all_tests
-       ln -s ../../boost/ include/senf/  # ugly work-around
-       lcov --directory . --capture --output-file /tmp/test_coverage.info --base-directory .
-#      lcov --output-file /tmp/test_coverage.info.tmp --extract test_coverage.info \*/senf/\*
-       lcov --output-file test_coverage.info --remove /tmp/test_coverage.info \*/include/\*
-       genhtml --output-directory doc/test_coverage --title "all_tests" test_coverage.info
-       rm /tmp/test_coverage.info
-       rm include/senf/boost
-
-#----------------------------------------------------------------------
-# Subversion stuff
-#----------------------------------------------------------------------
-svn_version:
-       @svnversion
+Makefile:
+       @true
 
-#----------------------------------------------------------------------
-# Building SENF requires some debian packages
-#----------------------------------------------------------------------
-DEB_BASE   = build-essential
+# Forward everything else to scons
+%: message
+       $(SCONS) $@
 
-# This line parses the 'Build-Depends' entry from debian/control
-DEB_SENF   = $(shell perl -an -F'[:,]' -e '                                    \
-                        BEGIN{ $$,=" " }                                       \
-                        $$P=0 if /^\S/;                                        \
-                        map {s/\(.*\)//} @F;                                   \
-                        print @F if $$P;                                       \
-                        if (/^Build-Depends:/) { print @F[1..$$\#F]; $$P=1 }'  \
-                    debian/control | xargs echo)
+message:
+       @echo "================================================================="
+       @echo "SENF uses SCons as it's build system, so instead of calling"
+       @echo "    $$ make <target>"
+       @echo
+       @echo "use"
+       @echo "    $$ ./tools/scons <target>"
+       @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 <num-cpus>, --config=force)"
+       @echo "================================================================="
+       sleep 5
 
 prerequisites:
-       aptitude install $(DEB_BASE) $(DEB_SENF)
-
-package:
-       $(SCONS) deb
+       ./debian/install-depends.sh
+.PHONY: prerequisites