ifndef CFG $(error Specify configuration: CFG=Release|Debug) endif COMPILER_OPTS = -c -Wall -fmessage-length=0 -fpermissive -fno-exceptions \ -DUNICODE -D_UNICODE INCLUDE_PATH = -I../../Include -I../../Include/msapi -I../ExternalAPI LINKER_OPTS = -nostartfiles -nodefaultlibs -nostdlib -shared -Wl,-Map,$(OUTDIR)/$(PROJECT_NAME).map -Wl,-e,_DllMain@12 LIBRARIES = -lgcc -lmsvcrt -lkernel32 -lshell32 -luser32 -lcomctl32 -lgdi32 -lmsimg32 -loleaut32 $(FINDIR)10/lib/mir_core.lib ifeq ($(CFG), Release) COMPILER_OPTS += -O2 -Os -DNDEBUG LINKER_OPTS += -s else ifeq ($(CFG), Debug) COMPILER_OPTS += -O0 -g3 -D_DEBUG else $(error Invalid configuration specfied: $(CFG)) endif endif PROJECT_NAME = TrafficCounter SRCDIR = src OUTDIR = $(CFG) FINDIR = ../../bin OUTNAME = $(FINDIR)/$(CFG)/Plugins/$(PROJECT_NAME).dll COMPILER = gcc LINKER = gcc RSC = windres SRCS = $(SRCDIR)/TrafficCounter.cpp \ $(SRCDIR)/misc.cpp \ $(SRCDIR)/options.cpp \ $(SRCDIR)/opttree.cpp \ $(SRCDIR)/statistics.cpp \ $(SRCDIR)/vars.cpp OBJECTS = $(OUTDIR)/TrafficCounter.obj \ $(OUTDIR)/misc.obj \ $(OUTDIR)/options.obj \ $(OUTDIR)/opttree.obj \ $(OUTDIR)/statistics.obj \ $(OUTDIR)/vars.obj \ $(OUTDIR)/resource.res DEPFILE = $(OUTDIR)/$(PROJECT_NAME).dep ALL: $(OUTDIR) depfile @$(MAKE) USE_DEPFILE=1 -f makefile_gcc build @echo Done. $(OUTDIR): @mkdir -pv $(OUTDIR) .PHONY: depfile depfile: @echo Rebuilding dependencies... $(COMPILER) -MM $(INCLUDE_PATH) $(SRCS) > $(DEPFILE) .PHONY: build build: $(OUTNAME) $(OUTNAME): $(OBJECTS) @echo Building $(OUTNAME)... @$(LINKER) $(LINKER_OPTS) $(LIBRARIES_PATH) -o $(OUTNAME) $(OBJECTS) $(LIBRARIES) ifdef USE_DEPFILE include $(DEPFILE) endif $(OUTDIR)/%.obj : $(SRCDIR)/%.cpp @echo Compliling $< @$(COMPILER) $(INCLUDE_PATH) -o $@ $(COMPILER_OPTS) $< $(OUTDIR)/%.res : res/%.rc @echo Compiling resources... @cat res/*.rc > res/tmp.rc @$(RSC) $(INCLUDE_PATH) -i res/tmp.rc -o $@ -J RC -O COFF -c 0x4E3