Mercurial > dwindows
changeset 1855:72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
on the value of the TARGET_CPU variable... defaulting to 32-bit.
Also added manifest support so MinGW builds use visual styles.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 28 Feb 2013 11:57:26 +0000 |
parents | dcd6181223a9 |
children | 285bf986e4fd |
files | makefile.mingw win/dw.rc win/dwtest.rc |
diffstat | 3 files changed, 37 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/makefile.mingw Thu Feb 28 01:15:59 2013 +0000 +++ b/makefile.mingw Thu Feb 28 11:57:26 2013 +0000 @@ -7,9 +7,23 @@ DEFS = LIBS = +ifndef TARGET_CPU +TARGET_CPU=x86 +endif + +ifeq ($(TARGET_CPU), x86) +PLATFORM_DEF=-DWIN32 +PLATFORM_CFLAGS=-m32 +PLATFORM_TARGET=pe-i386 +else +PLATFORM_DEF=-DWIN64 +PLATFORM_CFLAGS=-m64 +PLATFORM_TARGET=pe-x86-64 +endif + # Had to disable -Wunused-value due to every Win32 macro generating this warning... # GCC has marked this as WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24900 -CFLAGS = -O -g -DMSVC -DWIN32 -D__WIN32__ -DGDIPLUS -DUNICODE -D_UNICODE -DISOLATION_AWARE_ENABLED=1 -I./win -I. -I./platform -Wall -Wno-unused-value -mthreads -o $(@) +CFLAGS = -O -g -DMSVC $(PLATFORM_DEF) $(PLATFORM_CFLAGS) -D__WIN32__ -DGDIPLUS -DUNICODE -D_UNICODE -DISOLATION_AWARE_ENABLED=1 -I./win -I. -I./platform -Wall -Wno-unused-value -mthreads -o $(@) LDFLAGS = -shared -mwindows -mthreads -lcomctl32 -lole32 -loleaut32 -luserenv -lmsimg32 -lgdiplus COMPATOBJECTS = dwcompat.o dirent.o @@ -19,16 +33,22 @@ all: dw.dll dwcompat.dll dwtest.exe -dw.dll: $(OBJECTS) win/dw-mingw.def - $(CC) $(CFLAGS) $(DEFS) -o dw.dll $(OBJECTS) $(LDFLAGS) \ +dw.res: win/dw.rc + windres $(PLATFORM_DEF) --target=$(PLATFORM_TARGET) --input win/dw.rc --output dw.res --output-format=coff + +dw.dll: $(OBJECTS) win/dw-mingw.def dw.res + $(CC) $(CFLAGS) $(DEFS) -o dw.dll dw.res $(OBJECTS) $(LDFLAGS) \ -Wl,--out-implib,dw.a -Wl,-Map,dw.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dw-mingw.def dwcompat.dll: $(COMPATOBJECTS) win/dwcompat-mingw.def $(CC) $(CFLAGS) $(DEFS) -o dwcompat.dll $(COMPATOBJECTS) $(LDFLAGS) -lwsock32 \ -Wl,--out-implib,dwcompat.a -Wl,-Map,dwcompat.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dwcompat-mingw.def -dwtest.exe: dwtest.o dw.a dwcompat.a - $(CC) $(CFLAGS) -o dwtest.exe dwtest.o dw.a dwcompat.a +dwtest.res: win/dwtest.rc + windres $(PLATFORM_DEF) --target=$(PLATFORM_TARGET) --input win/dwtest.rc --output dwtest.res --output-format=coff + +dwtest.exe: dwtest.o dw.a dwcompat.a dwtest.res + $(CC) $(CFLAGS) -o dwtest.exe dwtest.res dwtest.o dw.a dwcompat.a clean: $(RM) *.obj *.o *.lib *.res *~ dwtest.exe dw.dll dwcompat.dll SVN.REV