Mercurial > dwindows
annotate makefile.mingw @ 1865:43c6ecfc598a
It seems WIN64 is defined in 32-bit mode using MinGW... so switch
to using DW64 as the define to say which mode we are compiling in.
This fixes 32-bit MinGW builds not functioning due to using 64-bit
manifest instead of the 32-bit one.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 08 Mar 2013 18:03:13 +0000 |
parents | 417176df4755 |
children | 87d574dda8f5 |
rev | line source |
---|---|
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
1 |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
2 # Dynamic Windows MINGW Makefile |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
3 |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
4 CC = gcc |
1839
22225eb286e5
Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1663
diff
changeset
|
5 RM = del /f |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
6 |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
7 DEFS = |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
8 LIBS = |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
9 |
1855
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
10 ifndef TARGET_CPU |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
11 TARGET_CPU=x86 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
12 endif |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
13 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
14 ifeq ($(TARGET_CPU), x86) |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
15 PLATFORM_DEF=-DWIN32 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
16 PLATFORM_CFLAGS=-m32 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
17 PLATFORM_TARGET=pe-i386 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
18 else |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
19 PLATFORM_DEF=-DWIN64 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
20 PLATFORM_CFLAGS=-m64 |
1865
43c6ecfc598a
It seems WIN64 is defined in 32-bit mode using MinGW... so switch
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1857
diff
changeset
|
21 PLATFORM_TARGET=pe-x86-64 -DDW64 |
1855
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
22 endif |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
23 |
1842
123d1a900f54
More MINGW cleanups... eliminate a few more warnings and disable the unused-value warning due to unfixable warnings generated by the Win32 macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1839
diff
changeset
|
24 # Had to disable -Wunused-value due to every Win32 macro generating this warning... |
123d1a900f54
More MINGW cleanups... eliminate a few more warnings and disable the unused-value warning due to unfixable warnings generated by the Win32 macros.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1839
diff
changeset
|
25 # GCC has marked this as WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24900 |
1857
417176df4755
Add TOOLBAR define with MinGW by default... fix warnings...generated
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1856
diff
changeset
|
26 CFLAGS = -O -g -DMSVC $(PLATFORM_DEF) $(PLATFORM_CFLAGS) -D__WIN32__ -DBUILD_DLL -DGDIPLUS -DTOOLBAR -DUNICODE -D_UNICODE -DISOLATION_AWARE_ENABLED=1 -I./win -I. -I./platform -Wall -Wno-unused-value -mthreads -o $(@) |
1856
285bf986e4fd
Get HTML support building with MinGW... some warnings need to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1855
diff
changeset
|
27 LDFLAGS = -shared -mwindows -mthreads -lcomctl32 -lole32 -loleaut32 -luserenv -lmsimg32 -lgdiplus -luuid |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
28 |
1594
6baf177f335c
Rename compat.c/h dwcompat.c/h and configure option to --with-dwcompat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1532
diff
changeset
|
29 COMPATOBJECTS = dwcompat.o dirent.o |
1856
285bf986e4fd
Get HTML support building with MinGW... some warnings need to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1855
diff
changeset
|
30 OBJECTS = dw.o browser.o XBrowseForFolder.o |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
31 |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
32 VPATH=../ ../win |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
33 |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
34 all: dw.dll dwcompat.dll dwtest.exe |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
35 |
1855
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
36 dw.res: win/dw.rc |
1865
43c6ecfc598a
It seems WIN64 is defined in 32-bit mode using MinGW... so switch
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1857
diff
changeset
|
37 windres --target=$(PLATFORM_TARGET) --input win/dw.rc --output dw.res --output-format=coff |
1855
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
38 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
39 dw.dll: $(OBJECTS) win/dw-mingw.def dw.res |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
40 $(CC) $(CFLAGS) $(DEFS) -o dw.dll dw.res $(OBJECTS) $(LDFLAGS) \ |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
41 -Wl,--out-implib,dw.a -Wl,-Map,dw.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dw-mingw.def |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
42 |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
43 dwcompat.dll: $(COMPATOBJECTS) win/dwcompat-mingw.def |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
44 $(CC) $(CFLAGS) $(DEFS) -o dwcompat.dll $(COMPATOBJECTS) $(LDFLAGS) -lwsock32 \ |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
45 -Wl,--out-implib,dwcompat.a -Wl,-Map,dwcompat.dll.map -Wl,--cref -Wl,--enable-stdcall-fixup win/dwcompat-mingw.def |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
46 |
1855
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
47 dwtest.res: win/dwtest.rc |
1865
43c6ecfc598a
It seems WIN64 is defined in 32-bit mode using MinGW... so switch
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1857
diff
changeset
|
48 windres --target=$(PLATFORM_TARGET) --input win/dwtest.rc --output dwtest.res --output-format=coff |
1855
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
49 |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
50 dwtest.exe: dwtest.o dw.a dwcompat.a dwtest.res |
72a75442c51d
Updated MinGW makefile to support picking 32-bit or 64-bit based
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1842
diff
changeset
|
51 $(CC) $(CFLAGS) -o dwtest.exe dwtest.res dwtest.o dw.a dwcompat.a |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
52 |
1839
22225eb286e5
Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1663
diff
changeset
|
53 clean: |
22225eb286e5
Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1663
diff
changeset
|
54 $(RM) *.obj *.o *.lib *.res *~ dwtest.exe dw.dll dwcompat.dll SVN.REV |
22225eb286e5
Fixes for building with MINGW64 (specifically http://tdm-gcc.tdragon.net/).
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1663
diff
changeset
|
55 |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
56 dw.o: win/dw.c |
1663
a76fb5f1a6c8
Fixes for building in Unicode mode with MinGW on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1594
diff
changeset
|
57 $(CC) $(CFLAGS) -DBUILD_DLL -c $< |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
58 |
1856
285bf986e4fd
Get HTML support building with MinGW... some warnings need to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1855
diff
changeset
|
59 browser.o: win/browser.c |
285bf986e4fd
Get HTML support building with MinGW... some warnings need to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1855
diff
changeset
|
60 $(CC) $(CFLAGS) -DBUILD_DLL -c $< |
285bf986e4fd
Get HTML support building with MinGW... some warnings need to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1855
diff
changeset
|
61 |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
62 XBrowseForFolder.o: win/XBrowseForFolder.cpp |
1663
a76fb5f1a6c8
Fixes for building in Unicode mode with MinGW on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1594
diff
changeset
|
63 $(CC) $(CFLAGS) -DBUILD_DLL -c $< |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
64 |
1594
6baf177f335c
Rename compat.c/h dwcompat.c/h and configure option to --with-dwcompat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1532
diff
changeset
|
65 dwcompat.o: dwcompat.c |
1663
a76fb5f1a6c8
Fixes for building in Unicode mode with MinGW on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1594
diff
changeset
|
66 $(CC) $(CFLAGS) -DBUILD_DLL -c $< |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
67 |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
68 dirent.o: win/dirent.c |
1663
a76fb5f1a6c8
Fixes for building in Unicode mode with MinGW on Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1594
diff
changeset
|
69 $(CC) $(CFLAGS) -DBUILD_DLL -c $< |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
70 |
1362
412af8059331
Attempt to get it building with Mingw again... builds but crashes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
71 dwtest.o: dwtest.c |
570
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
72 $(CC) $(CFLAGS) -c $< |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
73 |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
74 DEPS := $(wildcard *.d) |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
75 ifneq ($(DEPS),) |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
76 include $(DEPS) |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
77 endif |
052e9e4a59bd
MinGW support file
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
78 |