OS = $(shell uname -s) CC ?= cc CXX ?= c++ DESTDIR ?= /usr/local FLAGS += -std=c++11 ifdef DEBUG FLAGS += -ggdb -O0 else FLAGS += -O2 endif LIBS = CFLAGS += -I. $(FLAGS) -c -MMD -Wall -Wextra -Wno-unused-parameter -Werror -pedantic LDFLAGS += $(FLAGS) SOURCES = test.cxx OBJECTS = $(SOURCES:.cxx=.o) DEPENDENCIES= $(SOURCES:.cxx=.d) EXECUTABLE = test .PHONY: all clean pages runtests uninstall install installman all: $(EXECUTABLE) -include $(DEPENDENCIES) $(EXECUTABLE): $(OBJECTS) $(CXX) -o $@ $(OBJECTS) $(LDFLAGS) uninstall: -rm $(DESTDIR)/include/args.hxx -rmdir $(DESTDIR)/include -rm $(DESTDIR)/share/man/man3/args_*.3.bz2 -rmdir -p $(DESTDIR)/share/man/man3 install: mkdir -p $(DESTDIR)/include cp args.hxx $(DESTDIR)/include installman: doc/man mkdir -p $(DESTDIR)/share/man/man3 cp doc/man/man3/*.3.bz2 $(DESTDIR)/share/man/man3 clean: rm -rv $(EXECUTABLE) $(OBJECTS) $(DEPENDENCIES) doc pages: -rm -r pages/* doxygen Doxyfile cp -rv doc/html/* pages/ doc/man: doxygen Doxyfile bzip2 doc/man/man3/*.3 runtests: test ./test %.o: %.cxx $(CXX) $< -o $@ $(CFLAGS)