summaryrefslogtreecommitdiff
path: root/Makefile
blob: 4279f369aeccf6d74904bd2604a81ec1bf72aa4a (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
SYSTEM=$(shell uname)
ifeq ($(SYSTEM),Darwin)
ARCH_FLAGS=-arch i386
SHARED_FLAGS=-dynamiclib
SHARED_EXT=dylib
CPPFLAGS = -dynamic
LD = g++ -arch i386
STRIP = strip -x
else
ARCH_FLAGS=-march=i686 -m32
SHARED_FLAGS=-shared
SHARED_EXT=so
LD = g++ -m32
STRIP = strip --strip-unneeded
endif
CC = gcc
CXX = g++

INCLUDES = \
-I../Baltisot/include \
-I../LuaJIT/src \
-I /sw/include \
-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) -O4 -fexceptions -DSTDC_HEADERS -DREADLINE_STATIC -DHOOK_STDS -DWORDS_LITTLEENDIAN $(ARCH_FLAGS) $(HAVES)

LDFLAGS += $(ARCH_FLAGS) $(SHARED_FLAGS) ./lua-interface.$(SHARED_EXT)

vpath %.c ../Baltisot/lib:../Baltisot/src:src:../PSX-Bundle/lib:../PSX-Bundle/psxdev
vpath %.cc ../Baltisot/lib:../Baltisot/src:src:../PSX-Bundle/lib:../PSX-Bundle/psxdev
vpath %.cpp ../Baltisot/lib:../Baltisot/src:src:../PSX-Bundle/lib:../PSX-Bundle/psxdev
vpath %.lua ../Baltisot/lib:../Baltisot/src

LUACD_SOURCES = \
plugin-luacd.cc \
luacd.cpp \
cdabstract.cpp \
cdreader.cpp \
cdutils.cpp \
dvdabstract.cpp \
isobuilder.cpp \
yazedc.cpp \

LUAPSX_SOURCES = \
plugin-luapsx.cc \
luapsx.cpp \
bs.c \
idctfst.c \
jfdctint.c \
vlc.c \
xadecode.c \

WHOLE_SOURCES = \
$(LUAPSX_SOURCES) \
$(LUACD_SOURCES) \

MODULES_LIST = \
luapsx.$(SHARED_EXT) \
luacd.$(SHARED_EXT) \

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

all: dep modules

dist: modules
	mkdir -p ../lua-interface-dist
	$(STRIP) $(MODULES_LIST)
	cp $(MODULES_LIST) ../lua-interface-dist

modules: $(MODULES_LIST)

dep: $(ALL_DEPS)

luapsx.$(SHARED_EXT): $(addsuffix .o, $(notdir $(basename $(LUAPSX_SOURCES))))
	$(LD) $(LDFLAGS) -o $@ $+ $(LUAPSX_LIBS)

luacd.$(SHARED_EXT): $(addsuffix .o, $(notdir $(basename $(LUACD_SOURCES))))
	$(LD) $(LDFLAGS) -o $@ $+ $(LUACD_LIBS)

clean:
	rm -f *.o *.dep *.so *.dylib

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

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

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

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

-include $(ALL_DEPS)

.PHONY: clean dist