# EXE = manticore SRC = Detector.cc Dust.cc Graybody.cc PACS.cc SPIRE.cc \ manticore.cc process.cc solve.cc \ mutils/CommandLine.cc mutils/statics.cc OBJ = $(SRC:%.cc=%.o) CXX = g++ -std=c++11 CXXFLAGS = -Wall -Wextra -I/local/include -I. -g -O3 LDFLAGS = -L/local/lib -Wl,-rpath,/local/lib -lCCfits -lcfitsio -lgsl -lm STRIP = strip # MathJax location (doc/MathJax/ will be preferred if it exists). MATHJAX = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/ # Default (development) version. VERSION = 2.0alpha RELDATE = all: $(EXE) $(EXE): $(OBJ) $(CXX) -o $@ $(OBJ) $(LDFLAGS) $(STRIP) $@ %.o: %.cc %.h version.h $(CXX) $(CXXFLAGS) -o $@ -c $*.cc tidy: rm -f $(OBJ) doxygen.log clean: tidy rm -f $(EXE) distclean: clean rm -rf doc/html Doxyfile docs dox: Doxyfile doxygen > doxygen.log 2>&1 release: @test -n "$(VER)" || { echo "Please set VER variable!"; exit 1; } DIST=$(EXE)-$(VER) REL=release-$(VER); rm -rf $$DIST && \ hg archive -r "$$REL" -X .hg\* $$DIST && cd $$DIST || exit 1; \ DATE=`hg log -r "$$REL" | awk '/date:/ {printf $$3" "$$4" "$$6}'`; \ $(MAKE) VERSION=$(VER) RELDATE="$$DATE" && \ $(MAKE) VERSION=$(VER) docs && \ $(MAKE) tidy && cd .. && tar czf $$DIST.tgz $$DIST && rm -rf $$DIST version.h: version.h.in Makefile sed "s~@VERSION@~$(VERSION)~;s~@RELDATE@~$(RELDATE)~" $< > $@ Doxyfile: Doxyfile.in Makefile MJ=`test -d MathJax && echo ../MathJax || echo $(MATHJAX)`; \ sed "s,@MATHJAX@,$$MJ,;s,@VERSION@,$(VERSION)," $< > $@ pacsResponse: pacsResponse.cc mutils/statics.cc $(CXX) $(CXXFLAGS) -o $@ $< mutils/statics.cc $(LDFLAGS)