view makefile.mingw @ 1838:ca304f28de3b

Fix 64bit crashes on Windows when building with Visual Studio 2012. LPARAM in 32bit mode is LONG, but in 64bit mode it is uint64... There were casts to LONG in several places that were getting truncated with the new version of the compiler (but not gcc or older versions).
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 16 Nov 2012 21:18:20 +0000
parents a76fb5f1a6c8
children 22225eb286e5
line wrap: on
line source


# Dynamic Windows MINGW Makefile

# make -C MingW32-gcc-3.4.0-DEBUG -f ../makefile.mingw DEBUG=Y > MingW32-gcc-3.4.0-DEBUG/make-out.log 2>&1
# make -C MingW32-gcc-3.4.0-RELEASE -f ../makefile.mingw > MingW32-gcc-3.4.0-RELEASE/make-out.log 2>&1

CC = gcc

DEFS =
LIBS =

CFLAGS = -O -g -DMSVC -DWIN32 -D__WIN32__ -DGDIPLUS -DUNICODE -D_UNICODE -DISOLATION_AWARE_ENABLED=1 -I./win -I. -I./platform -Wall -mthreads -o $(@)
LDFLAGS = -shared -mwindows -mthreads -lcomctl32 -lole32 -loleaut32 -luserenv -lmsimg32 -lgdiplus

COMPATOBJECTS = dwcompat.o dirent.o
OBJECTS = dw.o XBrowseForFolder.o

VPATH=../ ../win

all: dw.dll dwcompat.dll dwtest.exe

dw.dll:  $(OBJECTS) win/dw-mingw.def
	$(CC) $(CFLAGS) $(DEFS) -o dw.dll $(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

dw.o: win/dw.c
	$(CC) $(CFLAGS) -DBUILD_DLL -c $<	

XBrowseForFolder.o: win/XBrowseForFolder.cpp
	$(CC) $(CFLAGS) -DBUILD_DLL -c $<	

dwcompat.o: dwcompat.c
	$(CC) $(CFLAGS) -DBUILD_DLL -c $<	

dirent.o: win/dirent.c
	$(CC) $(CFLAGS) -DBUILD_DLL -c $<	

dwtest.o: dwtest.c
	$(CC) $(CFLAGS) -c $<	

DEPS := $(wildcard *.d)
ifneq ($(DEPS),)
include $(DEPS)
endif