blob: 8c5dac5f6f91270863b2e5a788d86d89aef39fb0 (
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
|
# Use with GNU Make.
VERSION = 2.8.0
# User Settings ------------------------------------------------------------
# Target Lua version (51 for Lua 5.1; 52 for Lua 5.2).
LUAVERSION = 51
LUADOTVERSION = $(subst 5,5.,$(LUAVERSION))
# INSTALLPATH : Path to install the built DLL.
# LUADLL : Name of Lua DLL to link to (.dll should be omitted).
# LUAEXE : Name of Lua interpreter.
# LUAINC : Path of Lua include files.
# LIBPATH : Path of lua51.dll, lua52.dll, pcre.dll, etc.
INSTALLPATH = s:\exe\lib32\lua\$(LUADOTVERSION)
LUADLL = lua$(LUAVERSION)
LUAINC = s:\progr\work\system\include\lua\$(LUADOTVERSION)
LIBPATH = c:\exe32
ifeq ($(LUAVERSION),51)
LUAEXE = lua.exe
CREATEGLOBAL = -DREX_CREATEGLOBALVAR
else
LUAEXE = lua$(LUAVERSION).exe
endif
ifeq ($(LUAVERSION),53)
LUA_COMPAT = -DLUA_COMPAT_5_2
endif
# --------------------------------------------------------------------------
BIN = $(PROJECT).dll
BININSTALL = $(INSTALLPATH)\$(BIN)
CC = mingw32-gcc
AR = ar rcu
RANLIB = ranlib
CFLAGS = -W -Wall -O2 $(INCS) -DREX_OPENLIB=luaopen_$(PROJECT) \
-DREX_LIBNAME=\"$(PROJECT)\" -DVERSION=\"$(VERSION)\" \
$(CREATEGLOBAL) $(LUA_COMPAT) $(MYCFLAGS)
DEFFILE = $(PROJECT).def
EXPORTED = luaopen_$(PROJECT)
INCS = -I$(LUAINC) $(MYINCS)
LIBS = -l$(LUADLL) $(MYLIBS) -s
SRCPATH = ..\..\src
TESTPATH = ..\..\test
.PHONY: all install test clean
vpath %.c $(SRCPATH);$(SRCPATH)\$(PROJDIR)
vpath %.h $(SRCPATH);$(SRCPATH)\$(PROJDIR)
all: $(BIN)
clean:
del $(OBJ) $(BIN) $(DEFFILE)
install: $(BININSTALL)
test:
cd $(TESTPATH) && $(LUAEXE) runtest.lua $(TESTNAME) -d$(CURDIR)
$(BIN): $(OBJ) $(DEFFILE)
$(CC) $(DEFFILE) $(OBJ) -L$(LIBPATH) $(LIBS) -o $@ -shared
lib$(PROJECT)$(LUAVERSION).a: $(OBJ)
$(AR) $@ $?
$(RANLIB) $@
$(DEFFILE):
echo EXPORTS > $@
for %%d in ($(EXPORTED)) do echo %%d>> $@
$(BININSTALL): $(BIN)
copy /Y $< $@
|