]> git.llucax.com Git - software/posixx.git/blobdiff - test/Makefile
Add posix::basic_buffer template and posix::buffer class
[software/posixx.git] / test / Makefile
index 94e3b2cb25996c2696ebd3d800db149bac40a60e..c6f2a22900ce0f61ea3f98c8069de332acfa3630 100644 (file)
@@ -1,7 +1,6 @@
 
 
-CINCPATH = -isystem include
-CFLAGS += -std=c++98 -Wall -pedantic
-LDFLAGS = -lboost_unit_test_framework
+LOCAL_CFLAGS = -std=c++98 -Wall -pedantic -Iinclude
+LOCAL_LDFLAGS = -lboost_unit_test_framework
 
 TESTPRG = test_suite
 TESTCMD = ./$(TESTPRG) --detect_memory_leak=1 --report_level=short \
 
 TESTPRG = test_suite
 TESTCMD = ./$(TESTPRG) --detect_memory_leak=1 --report_level=short \
@@ -10,7 +9,7 @@ TESTCMD = ./$(TESTPRG) --detect_memory_leak=1 --report_level=short \
 
 VALGRIND = valgrind --tool=memcheck --leak-check=yes --db-attach=no \
                --num-callers=24 --leak-resolution=high --track-fds=yes \
 
 VALGRIND = valgrind --tool=memcheck --leak-check=yes --db-attach=no \
                --num-callers=24 --leak-resolution=high --track-fds=yes \
-               --suppressions=valgrind.suppressions
+               --suppressions=valgrind.suppressions --error-exitcode=1
 
 
 SOURCES = $(shell find -name '*.cpp')
 
 
 SOURCES = $(shell find -name '*.cpp')
@@ -18,10 +17,11 @@ OBJS = $(SOURCES:.cpp=.o)
 
 
 
 
 
 
-ALL_CFLAGS = $(CFLAGS) $(CINCPATH)
+ALL_CFLAGS = $(LOCAL_CFLAGS) $(LI_CFLAGS) $(CFLAGS)
+ALL_LDFLAGS = $(LOCAL_LDFLAGS) $(LI_LDFLAGS) $(LDFLAGS)
 
 ifdef RELEASE
 
 ifdef RELEASE
-ALL_CFLAGS += -O3 -NDEBUG
+ALL_CFLAGS += -O3 -DNDEBUG
 endif
 
 ifdef DEBUG
 endif
 
 ifdef DEBUG
@@ -36,9 +36,9 @@ endif
 ifneq ($(V), 1)
 NICE_CXX = @echo "  CXX $@"; $(CXX)
 NICE_LINK = @echo "  LINK $@"; $(CXX)
 ifneq ($(V), 1)
 NICE_CXX = @echo "  CXX $@"; $(CXX)
 NICE_LINK = @echo "  LINK $@"; $(CXX)
-NICE_TEST = @echo "  TEST"; $(TESTCMD) > /dev/null 2>&1
+NICE_TEST = @echo "  TEST"; $(TESTCMD) > $(TESTPRG).log 2>&1
 NICE_MEMTEST = @echo "  MEMTEST"; $(VALGRIND) --log-file=valgrind.log \
 NICE_MEMTEST = @echo "  MEMTEST"; $(VALGRIND) --log-file=valgrind.log \
-               $(TESTCMD) > /dev/null 2>&1
+               $(TESTCMD) > valgrind.$(TESTPRG).log 2>&1
 NICE_CLEAN = @echo "  CLEAN"; $(RM)
 else
 NICE_CXX = $(CXX)
 NICE_CLEAN = @echo "  CLEAN"; $(RM)
 else
 NICE_CXX = $(CXX)
@@ -51,7 +51,7 @@ endif
 
 default: all
 
 
 default: all
 
-all: test_suite
+all: $(TESTPRG)
 
 
 # dependency handling
 
 
 # dependency handling
@@ -69,7 +69,8 @@ all: test_suite
        @mkdir -p $(dir $@)
        @set -e; rm -f $@; \
                $(CC) -MM -MG -MP $(CPPFLAGS) $(ALL_CFLAGS) $< -MF $@.$$$$; \
        @mkdir -p $(dir $@)
        @set -e; rm -f $@; \
                $(CC) -MM -MG -MP $(CPPFLAGS) $(ALL_CFLAGS) $< -MF $@.$$$$; \
-               sed 's,\($(notdir $*)\)\.o[ :]*,$(dir $<)\1.o $@ : ,g' < $@.$$$$ > $@; \
+               sed 's,\($(notdir $*)\)\.o[ :]*,$(dir $<)\1.o $@ : ,g' \
+                               < $@.$$$$ > $@; \
                rm -f $@.$$$$
 
 ifneq ($(MAKECMDGOALS),clean)
                rm -f $@.$$$$
 
 ifneq ($(MAKECMDGOALS),clean)
@@ -81,7 +82,7 @@ endif
 
 
 $(TESTPRG): $(OBJS)
 
 
 $(TESTPRG): $(OBJS)
-       $(NICE_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $^
+       $(NICE_LINK) $(ALL_LDFLAGS) -o $@ $^
 
 $(OBJS): include
 
 
 $(OBJS): include
 
@@ -92,16 +93,22 @@ include:
        @mkdir -p include
        @ln -fs ../../src include/posixx
 
        @mkdir -p include
        @ln -fs ../../src include/posixx
 
-test: all
+test: .test-stamp
+
+.test-stamp: $(TESTPRG)
        $(NICE_TEST)
        $(NICE_TEST)
+       @touch $@
+
+memtest: .memtest-stamp
 
 
-memtest: all
+.memtest-stamp: $(TESTPRG)
        $(NICE_MEMTEST)
        $(NICE_MEMTEST)
+       @touch $@
 
 clean:
        $(NICE_CLEAN) -r $(TESTPRG) include $(OBJS) .deps valgrind.log \
 
 clean:
        $(NICE_CLEAN) -r $(TESTPRG) include $(OBJS) .deps valgrind.log \
-               *.bb *.bbg *.da *.gcov *.gcda *.gcno gmon.out
+               *.bb *.bbg *.da *.gcov *.gcda *.gcno gmon.out .*-stamp
 
 
-.PHONY: default all test clean
+.PHONY: default all test memtest clean