From ff2c1ae9669e5b164a36bd372729948537110928 Mon Sep 17 00:00:00 2001 From: Vlad Mironov Date: Mon, 26 May 2014 07:14:46 +0000 Subject: another gcc compilation fix git-svn-id: http://svn.miranda-ng.org/main/trunk@9311 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/TrafficCounter/makefile_gcc | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 plugins/TrafficCounter/makefile_gcc (limited to 'plugins/TrafficCounter/makefile_gcc') diff --git a/plugins/TrafficCounter/makefile_gcc b/plugins/TrafficCounter/makefile_gcc new file mode 100644 index 0000000000..5baf60ce0e --- /dev/null +++ b/plugins/TrafficCounter/makefile_gcc @@ -0,0 +1,78 @@ +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)/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... + @$(RSC) $(INCLUDE_PATH) -i $< -o $@ -J RC -O COFF -c 0x4E3 -- cgit v1.2.3