EFLWindowsXP: Makefile

File Makefile, 5.5 KB (added by vtorri, 15 months ago)

Makefile to compile lua 5.1.4 for Windows

Line 
1# Makefile for Lua 5.1.4 using MinGW.
2
3# Copyright (C) 2009 V. Torri.
4
5# To compile, type:
6#
7#   make
8#
9# To install, type:
10#
11#   make install
12
13#### Variables to change if needed
14####
15#### Example for Debian / Ubuntu:
16####
17#### TARGET = i586-mingw32msvc-
18#### prefix = $MINGW_PREFIX
19
20TARGET =
21
22prefix = /usr/local
23
24#### No need to change anything below
25
26BIN_PATH = $(prefix)/bin
27INCLUDE_PATH = $(prefix)/include
28LIBRARY_PATH = $(prefix)/lib
29PKGCONFIG_PATH = $(prefix)/lib/pkgconfig
30
31STATICLIB = liblua.a
32SHAREDLIB = lua51.dll
33IMPLIB    = liblua.dll.a
34
35CC = $(TARGET)gcc
36CPPFLAGS = -DLUA_BUILD_AS_DLL
37CFLAGS = -O2 -Wall
38
39AR = $(TARGET)ar
40ARFLAGS = rcs
41
42INSTALL = install -p
43RM = rm -f
44MKDIR = mkdir -p
45
46# lua objects for the library.
47
48CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
49        lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o  \
50        lundump.o lvm.o lzio.o
51LIB_O=  lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \
52        lstrlib.o loadlib.o linit.o
53
54
55all: clean $(STATICLIB) $(SHAREDLIB) $(IMPLIB)
56
57.c.o:
58        $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
59
60
61$(STATICLIB): $(CORE_O) $(LIB_O)
62        $(AR) $(ARFLAGS) $@ $(CORE_O) $(LIB_O)
63
64$(IMPLIB): $(SHAREDLIB)
65
66$(SHAREDLIB): $(CORE_O) $(LIB_O)
67        $(CC) -shared -o $@ \
68        -Wl,-s \
69        -Wl,--out-implib=$(IMPLIB) \
70        -Wl,--export-all-symbols \
71        -Wl,--enable-auto-import \
72        $(CORE_O) $(LIB_O)
73
74.PHONY: install uninstall clean
75
76install: $(STATICLIB) $(IMPLIB) $(SHAREDLIB)
77        -@$(MKDIR) $(INCLUDE_PATH) $(PKGCONFIG_PATH)
78        -$(INSTALL) lua.h $(INCLUDE_PATH)
79        -$(INSTALL) luaconf.h $(INCLUDE_PATH)
80        -$(INSTALL) lualib.h $(INCLUDE_PATH)
81        -$(INSTALL) lauxlib.h $(INCLUDE_PATH)
82        -$(INSTALL) ../etc/lua.hpp $(INCLUDE_PATH)
83        -$(INSTALL) ../etc/lua.pc $(PKGCONFIG_PATH)
84        -$(INSTALL) $(STATICLIB) $(LIBRARY_PATH)
85        -$(INSTALL) $(IMPLIB) $(LIBRARY_PATH)
86        -$(INSTALL) $(SHAREDLIB) $(BIN_PATH)
87
88uninstall:
89        -$(RM) $(INCLUDE_PATH)/lua.h
90        -$(RM) $(INCLUDE_PATH)/luaconf.h
91        -$(RM) $(INCLUDE_PATH)/lualib.h
92        -$(RM) $(INCLUDE_PATH)/lauxlib.h
93        -$(RM) $(INCLUDE_PATH)/lua.hpp
94        -$(RM) $(PKGCONFIG_PATH)/lua.pc
95        -$(RM) $(LIBRARY_PATH)/$(STATICLIB)
96        -$(RM) $(LIBRARY_PATH)/$(IMPLIB)
97        -$(RM) $(BIN_PATH)/$(SHAREDLIB)
98
99clean:
100        -$(RM) $(STATICLIB)
101        -$(RM) $(SHAREDLIB)
102        -$(RM) $(IMPLIB)
103        -$(RM) *.o
104
105
106# DO NOT DELETE
107
108lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \
109  lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \
110  lundump.h lvm.h
111lauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h
112lbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h
113lcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
114  lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lgc.h \
115  ltable.h
116ldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h
117ldebug.o: ldebug.c lua.h luaconf.h lapi.h lobject.h llimits.h lcode.h \
118  llex.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \
119  lfunc.h lstring.h lgc.h ltable.h lvm.h
120ldo.o: ldo.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
121  lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h lstring.h \
122  ltable.h lundump.h lvm.h
123ldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \
124  lzio.h lmem.h lundump.h
125lfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h lmem.h \
126  lstate.h ltm.h lzio.h
127lgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
128  lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h
129linit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h
130liolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h
131llex.o: llex.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h ltm.h \
132  lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h
133lmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h
134lmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
135  ltm.h lzio.h lmem.h ldo.h
136loadlib.o: loadlib.c lua.h luaconf.h lauxlib.h lualib.h
137lobject.o: lobject.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h \
138  ltm.h lzio.h lmem.h lstring.h lgc.h lvm.h
139lopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h
140loslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h
141lparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
142  lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \
143  lfunc.h lstring.h lgc.h ltable.h
144lstate.o: lstate.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
145  ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h llex.h lstring.h ltable.h
146lstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \
147  ltm.h lzio.h lstring.h lgc.h
148lstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h
149ltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
150  ltm.h lzio.h lmem.h ldo.h lgc.h ltable.h
151ltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h
152ltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \
153  lmem.h lstring.h lgc.h ltable.h
154lua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h
155luac.o: luac.c lua.h luaconf.h lauxlib.h ldo.h lobject.h llimits.h \
156  lstate.h ltm.h lzio.h lmem.h lfunc.h lopcodes.h lstring.h lgc.h \
157  lundump.h
158lundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \
159  llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h lundump.h
160lvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
161  lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h lvm.h
162lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \
163  lzio.h
164print.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h \
165  ltm.h lzio.h lmem.h lopcodes.h lundump.h
166
167# (end of Makefile)