]> git.stg.codes - stg.git/commitdiff
Keep d-files and objects in test directory
authorMaxim Mamontov <faust.madf@gmail.com>
Mon, 19 Sep 2011 20:06:02 +0000 (23:06 +0300)
committerMaxim Mamontov <faust.madf@gmail.com>
Mon, 19 Sep 2011 20:06:02 +0000 (23:06 +0300)
tests/Makefile

index 6c52d9ea96e8b2d9dd7a6a6f327e5db19d22a908..dbec16b86ff16e93294389f83e820496373ca870 100644 (file)
@@ -1,5 +1,15 @@
-CFLAGS += -g3 -Wall -W -Wextra -DLINUX -I../include -I../projects/stargazer -I../stglibs/stgconffiles.lib -I. -DUSE_ABSTRACT_SETTINGS -DLINUX
-CXXFLAGS = ${CFLAGS}
+INCS = -I . \
+       -I ../include \
+       -I ../stglibs/common.lib/include \
+       -I ../stglibs/conffiles.lib/include \
+       -I ../stglibs/logger.lib/include \
+       -I ../stglibs/locker.lib/include \
+       -I ../stglibs/scriptexecuter.lib/include \
+       -I ../projects/stargazer
+DEFS = -DLINUX \
+       -DUSE_ABSTRACT_SETTINGS
+CFLAGS += -g3 -Wall -W -Wextra $(INCS) $(DEFS)
+CXXFLAGS = $(CFLAGS)
 LIBS = -lpthread
 PROG = tests
 
@@ -18,26 +28,28 @@ SOURCES = main.cpp \
          ../stglibs/logger.lib/logger.cpp \
          ../stglibs/scriptexecuter.lib/scriptexecuter.cpp
 
-.PHONY: all includes clean
+.PHONY: all clean
 
-all: includes $(PROG)
+all: $(PROG)
 
-includes:
-       make -C ../stglibs includes
-
-$(PROG): $(subst .cpp,.o,$(SOURCES))
+$(PROG): $(addsuffix .o,$(basename $(SOURCES)))
        $(CXX) $(LDFLAGS) $^ $(LIBS) -o $@
 
 clean:
-       rm -f *.o *.d $(PROG)
+       rm -f $(addsuffix .o,$(basename $(SOURCES))) $(addsuffix .d,$(SOURCES)) $(PROG)
 
 ifneq ($(MAKECMDGOALS),distclean)
 ifneq ($(MAKECMDGOALS),clean)
--include $(subst .cpp,.d,$(SOURCES))
+-include $(addsuffix .d,$(SOURCES))
 endif
 endif
 
-%.d: %.cpp
-       @$(CC) -MM $(CXXFLAGS) $< > $@.$$$$; \
+%.cpp.d: %.cpp
+       @$(CXX) -MM $(CXXFLAGS) $< > $@.$$$$; \
+       sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+       rm -f $@.$$$$
+
+%.c.d: %.c
+       @$(CC) -MM $(CFLAGS) $< > $@.$$$$; \
        sed 's,\($*\).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
        rm -f $@.$$$$