Mercurial > dwindows
comparison makefile.mingw @ 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 | 123d1a900f54 |
children | 285bf986e4fd |
comparison
equal
deleted
inserted
replaced
1854:dcd6181223a9 | 1855:72a75442c51d |
---|---|
5 RM = del /f | 5 RM = del /f |
6 | 6 |
7 DEFS = | 7 DEFS = |
8 LIBS = | 8 LIBS = |
9 | 9 |
10 ifndef TARGET_CPU | |
11 TARGET_CPU=x86 | |
12 endif | |
13 | |
14 ifeq ($(TARGET_CPU), x86) | |
15 PLATFORM_DEF=-DWIN32 | |
16 PLATFORM_CFLAGS=-m32 | |
17 PLATFORM_TARGET=pe-i386 | |
18 else | |
19 PLATFORM_DEF=-DWIN64 | |
20 PLATFORM_CFLAGS=-m64 | |
21 PLATFORM_TARGET=pe-x86-64 | |
22 endif | |
23 | |
10 # Had to disable -Wunused-value due to every Win32 macro generating this warning... | 24 # Had to disable -Wunused-value due to every Win32 macro generating this warning... |
11 # GCC has marked this as WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24900 | 25 # GCC has marked this as WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24900 |
12 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 $(@) | 26 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 $(@) |
13 LDFLAGS = -shared -mwindows -mthreads -lcomctl32 -lole32 -loleaut32 -luserenv -lmsimg32 -lgdiplus | 27 LDFLAGS = -shared -mwindows -mthreads -lcomctl32 -lole32 -loleaut32 -luserenv -lmsimg32 -lgdiplus |
14 | 28 |
15 COMPATOBJECTS = dwcompat.o dirent.o | 29 COMPATOBJECTS = dwcompat.o dirent.o |
16 OBJECTS = dw.o XBrowseForFolder.o | 30 OBJECTS = dw.o XBrowseForFolder.o |
17 | 31 |
18 VPATH=../ ../win | 32 VPATH=../ ../win |
19 | 33 |
20 all: dw.dll dwcompat.dll dwtest.exe | 34 all: dw.dll dwcompat.dll dwtest.exe |
21 | 35 |
22 dw.dll: $(OBJECTS) win/dw-mingw.def | 36 dw.res: win/dw.rc |
23 $(CC) $(CFLAGS) $(DEFS) -o dw.dll $(OBJECTS) $(LDFLAGS) \ | 37 windres $(PLATFORM_DEF) --target=$(PLATFORM_TARGET) --input win/dw.rc --output dw.res --output-format=coff |
38 | |
39 dw.dll: $(OBJECTS) win/dw-mingw.def dw.res | |
40 $(CC) $(CFLAGS) $(DEFS) -o dw.dll dw.res $(OBJECTS) $(LDFLAGS) \ | |
24 -Wl,--out-implib,dw.a -Wl,-Map,dw.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dw-mingw.def | 41 -Wl,--out-implib,dw.a -Wl,-Map,dw.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dw-mingw.def |
25 | 42 |
26 dwcompat.dll: $(COMPATOBJECTS) win/dwcompat-mingw.def | 43 dwcompat.dll: $(COMPATOBJECTS) win/dwcompat-mingw.def |
27 $(CC) $(CFLAGS) $(DEFS) -o dwcompat.dll $(COMPATOBJECTS) $(LDFLAGS) -lwsock32 \ | 44 $(CC) $(CFLAGS) $(DEFS) -o dwcompat.dll $(COMPATOBJECTS) $(LDFLAGS) -lwsock32 \ |
28 -Wl,--out-implib,dwcompat.a -Wl,-Map,dwcompat.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dwcompat-mingw.def | 45 -Wl,--out-implib,dwcompat.a -Wl,-Map,dwcompat.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dwcompat-mingw.def |
29 | 46 |
30 dwtest.exe: dwtest.o dw.a dwcompat.a | 47 dwtest.res: win/dwtest.rc |
31 $(CC) $(CFLAGS) -o dwtest.exe dwtest.o dw.a dwcompat.a | 48 windres $(PLATFORM_DEF) --target=$(PLATFORM_TARGET) --input win/dwtest.rc --output dwtest.res --output-format=coff |
49 | |
50 dwtest.exe: dwtest.o dw.a dwcompat.a dwtest.res | |
51 $(CC) $(CFLAGS) -o dwtest.exe dwtest.res dwtest.o dw.a dwcompat.a | |
32 | 52 |
33 clean: | 53 clean: |
34 $(RM) *.obj *.o *.lib *.res *~ dwtest.exe dw.dll dwcompat.dll SVN.REV | 54 $(RM) *.obj *.o *.lib *.res *~ dwtest.exe dw.dll dwcompat.dll SVN.REV |
35 | 55 |
36 dw.o: win/dw.c | 56 dw.o: win/dw.c |