Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # TODO: colorize unittest outputs
- # TODO: create .P for unittests
- # TODO: set include dir
- .PHONY: all clean
- empty =
- space = $(empty) $(empty)
- CC := clang++
- CFLAGS := -std=c++0x -Wall
- UNITTESTDIR = ./UnitTests
- ETCDIRS = ./Tools
- CPPS = $(shell find ./ \( -path $(subst $(space), -o -path ,$(ETCDIRS)) \) -prune -o -name "*.cpp" -print)
- UNITTESTS = $(shell find $(UNITTESTDIR) -name "Makefile")
- DEPS = $(CPPS:.cpp=.P)
- MAKEDEP = $(CC) $(CFLAGS) -E -MM -o $*.d $*.cpp
- all: complete_test
- complete_test:
- %.o: %.P
- $(CC) $(CFLAGS) -c -o $@ $*.cpp
- %.P:
- $(MAKEDEP)
- @sed 's|\($(notdir $*)\)\.o|$@|g' < $*.d > $@; \
- rm -f $*.d; [ -s $@ ] || rm -f $@
- include $(UNITTESTS)
- ifneq "$(MAKECMDGOALS)" "clean"
- -include $(DEPS)
- endif
- clean:
- rm -f $(OBJECTS)
- rm -f $(DEPS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement