summaryrefslogtreecommitdiff
path: root/Makefile.mingw32
blob: b8cb4b26afb6f262b858bf7dd4445eb20352f384 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
SYSTEM=$(shell uname)
ifeq ($(SYSTEM),Darwin)
CC = i386-mingw32-gcc
CXX = i386-mingw32-g++
LD = i386-mingw32-g++
STRIP = i386-mingw32-strip
else
CC = i586-mingw32msvc-gcc
CXX = i586-mingw32msvc-g++
LD = i586-mingw32msvc-g++
STRIP = i586-mingw32msvc-strip
endif

INCLUDES = \
-I ../Mesa-7.0.3-win32/include \
-I../Baltisot/include \
-I../Baltisot/lib/zlib/include \
-I../Baltisot/lib/lua/include -I../Baltisot/lib/lua/includes \
-I../PSX-Bundle/includes -I../PSX-Bundle/psxdev \

HAVES =  -DHAVE_VSSCANF -DHAVE_FCNTL -DHAVE_UNISTD_H -DHAVE_FORK -DHAVE_PIPE -DHAVE_FSYNC -DHAVE_MALLOC_H -DHAVE_ASPRINTF -DHAVE_BYTESWAP_H

CPPFLAGS += $(INCLUDES) -g -DSTDC_HEADERS -DREADLINE_STATIC -DHOOK_STDS -DWORDS_LITTLEENDIAN -fexceptions -march=i686 $(HAVES)

LDFLAGS += -g -fexception -shared -Wl,--export-dynamic ../lua-interface/lua-interface.a -Wl,--enable-auto-image-base --export-all-symbols -Wl,--enable-auto-import

GMPLIBDIR=../gmp-4.3.2-mingw32
GMP_LIBS=-Wl,--whole-archive $(GMPLIBDIR)/libgmpxx.a $(GMPLIBDIR)/libgmp.a -Wl,--no-whole-archive

vpath %.c ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src
vpath %.cc ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src
vpath %.cpp ../Baltisot/lib:../Baltisot/src:../Baltisot/lib/zlib/src:../Baltisot/lib/lua/src:../Baltisot/lib/lua/src/LuaLib:src
vpath %.lua ../Baltisot/lib:../Baltisot/src

LUAGMP_SOURCES = \
plugin-luagmp.cc \
lgmp.lua \

WHOLE_SOURCES = \
$(LUAGMP_SOURCES) \

MODULES_LIST = \
luagmp.dll \

ALL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(WHOLE_SOURCES))))
ALL_DEPS = $(addsuffix .dep, $(notdir $(basename $(WHOLE_SOURCES))))

all: dep modules

modules: $(ALL_OBJECTS) $(MODULES_LIST)

dep: $(ALL_DEPS)

luagmp.dll: $(addsuffix .o, $(notdir $(basename $(LUAGMP_SOURCES))))
	$(LD) -o $@ $+ $(LDFLAGS) $(GMP_LIBS)

clean:
	rm -f *.o *.dep *.dll

%.dep : %.c
	$(CC) $(CPPFLAGS) -M -MF $@ $<

%.dep : %.cpp
	$(CXX) $(CPPFLAGS) -M -MF $@ $<

%.dep : %.cc
	$(CXX) $(CPPFLAGS) -M -MF $@ $<

%.c : %.clua
	bin2c $< $@ $(basename $@)

%.clua : %.lua
	./luac -o $@ $<

-include $(ALL_DEPS)