view makefile.mingw @ 1663:a76fb5f1a6c8

Fixes for building in Unicode mode with MinGW on Windows. Also fix incorrect calling conventions on signal handlers with MinGW. AEROGLASS is still not supported with MinGW due to some missing items in the uxtheme.h header.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 20 Apr 2012 19:44:16 +0000
parents 6baf177f335c
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