SRCDIR=src INCDIR=include ifdef CROSS KROSS=$(CROSS)- endif CXX=$(KROSS)g++ -std=c++11 STRIP=$(KROSS)strip LD=$(CXX) CXXFLAGS=-c -O3 -I$(INCDIR) -Wall -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501 -D_WIN32_WINNT=0x0501 -DUNICODE -D_UNICODE LDFLAGS=-static-libstdc++ LIBS= ifdef DEBUG BUILD=Debug CXXFLAGS=$(CXXFLAGS) -DDEBUG LDFLAGS=$(LDFLAGS) -g else BUILD=Release endif OUTDIR=build/$(BUILD) DISTDIR=dist/$(BUILD) DISTS=$(DISTDIR)/hecomes \ $(DISTDIR)/hegoes FILES=$(OUTDIR)/ZalgoLib.o \ $(OUTDIR)/OptionParser.o all: initdir $(DISTS) hecomes: $(DISTDIR)/hecomes hecomes: $(DISTDIR)/hegoes .PHONY: clean clean: rm $(OUTDIR)/*.o rm $(DISTS) strip: $(STRIP) $(DISTS) initdir: -test -d build || mkdir build -test -d $(OUTDIR) || mkdir $(OUTDIR) -test -d build || mkdir dist -test -d $(DISTDIR) || mkdir $(DISTDIR) $(SRCDIR)/ZalgoLib.cpp: $(INCDIR)/ZalgoLib.h $(INCDIR)/ConversionData.inc $(SRCDIR)/OptionParser.cpp: $(INCDIR)/OptionParser.h $(SRCDIR)/hecomes.cpp: $(INCDIR)/OptionParser.h $(INCDIR)/ZalgoLib.h $(SRCDIR)/hegoes.cpp: $(INCDIR)/OptionParser.h $(INCDIR)/ZalgoLib.h $(OUTDIR)/%.o: $(SRCDIR)/%.cpp $(CXX) $(CXXFLAGS) -o $@ -c $< $(DISTDIR)/hecomes: $(FILES) $(OUTDIR)/hecomes.o $(LD) $(LDFLAGS) -o $@ $^ $(DISTDIR)/hegoes: $(FILES) $(OUTDIR)/hegoes.o $(LD) $(LDFLAGS) -o $@ $^