1
# Makefile for building Lua
2
# See ../doc/readme.html for installation and customization instructions.
4
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
6
# Your platform. See PLATS for possible values.
9
CC= libtool --quiet --mode=compile --tag=CC gcc
10
LD= libtool --quiet --mode=link --tag=CC gcc
11
CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
12
LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
13
LIBS= -lm $(SYSLIBS) $(MYLIBS)
23
MYCFLAGS= -g -DDEB_HOST_MULTIARCH=\"$(DEB_HOST_MULTIARCH)\"
28
# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
30
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
33
CORE_O= lapi.lo lcode.lo lctype.lo ldebug.lo ldo.lo ldump.lo lfunc.lo lgc.lo llex.lo \
34
lmem.lo lobject.lo lopcodes.lo lparser.lo lstate.lo lstring.lo ltable.lo \
35
ltm.lo lundump.lo lvm.lo lzio.lo
36
LIB_O= lauxlib.lo lbaselib.lo lbitlib.lo lcorolib.lo ldblib.lo liolib.lo \
37
lmathlib.lo loslib.lo lstrlib.lo ltablib.lo loadlib.lo linit.lo
38
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
46
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
47
ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
60
$(LD) -o $@ -version-info 0:0:0 -rpath $(INSTALL_LIB) $?
62
$(LUA_T): $(LUA_O) $(LUA_A)
63
$(LD) -o $@ $(LDFLAGS) -static -Wl,-E lua.o $(LUA_A) $(LIBS)
65
$(LUAC_T): $(LUAC_O) $(LUA_A)
66
$(LD) -o $@ $(LDFLAGS) -static luac.o lundump.o lopcodes.o $(LUA_A) $(LIBS)
69
$(RM) $(ALL_T) $(ALL_O)
72
@$(CC) $(CFLAGS) -MM l*.c
77
@echo "CFLAGS= $(CFLAGS)"
78
@echo "LDFLAGS= $(SYSLDFLAGS)"
81
@echo "RANLIB= $(RANLIB)"
84
# Convenience targets for popular platforms
88
@echo "Please do 'make PLATFORM' where PLATFORM is one of these:"
92
$(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall"
95
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_ANSI"
98
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E"
101
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline"
106
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"
109
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline"
112
$(MAKE) "LUA_A=lua52.dll" "LUA_T=lua.exe" \
113
"AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \
114
"SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe
115
$(MAKE) "LUAC_T=luac.exe" luac.exe
118
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX"
121
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl"
123
# list targets that do not create files (but not all makes understand .PHONY)
124
.PHONY: all $(PLATS) default o a clean depend echo none
129
$(CC) $(CFLAGS) -c $<
131
$(LD) $(LDFLAGS) -o $@ $< $(LIBS)
133
lapi.lo: lapi.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h ltm.h \
134
lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lstring.h ltable.h lundump.h \
136
lauxlib.lo: lauxlib.c lua.h luaconf.h lauxlib.h
137
lbaselib.lo: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h
138
lbitlib.lo: lbitlib.c lua.h luaconf.h lauxlib.h lualib.h
139
lcode.lo: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
140
lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lgc.h \
141
lstring.h ltable.h lvm.h
142
lcorolib.lo: lcorolib.c lua.h luaconf.h lauxlib.h lualib.h
143
lctype.lo: lctype.c lctype.h lua.h luaconf.h llimits.h
144
ldblib.lo: ldblib.c lua.h luaconf.h lauxlib.h lualib.h
145
ldebug.lo: ldebug.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h \
146
ltm.h lzio.h lmem.h lcode.h llex.h lopcodes.h lparser.h ldebug.h ldo.h \
147
lfunc.h lstring.h lgc.h ltable.h lvm.h
148
ldo.lo: ldo.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h ltm.h \
149
lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h \
150
lstring.h ltable.h lundump.h lvm.h
151
ldump.lo: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \
152
lzio.h lmem.h lundump.h
153
lfunc.lo: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h \
154
lstate.h ltm.h lzio.h lmem.h
155
lgc.lo: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
156
lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h
157
linit.lo: linit.c lua.h luaconf.h lualib.h lauxlib.h
158
liolib.lo: liolib.c lua.h luaconf.h lauxlib.h lualib.h
159
llex.lo: llex.c lua.h luaconf.h lctype.h llimits.h ldo.h lobject.h \
160
lstate.h ltm.h lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h
161
lmathlib.lo: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h
162
lmem.lo: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
163
ltm.h lzio.h lmem.h ldo.h lgc.h
164
loadlib.lo: loadlib.c lua.h luaconf.h lauxlib.h lualib.h
165
lobject.lo: lobject.c lua.h luaconf.h lctype.h llimits.h ldebug.h lstate.h \
166
lobject.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h lvm.h
167
lopcodes.lo: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h
168
loslib.lo: loslib.c lua.h luaconf.h lauxlib.h lualib.h
169
lparser.lo: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
170
lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lfunc.h \
171
lstring.h lgc.h ltable.h
172
lstate.lo: lstate.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h \
173
ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h llex.h lstring.h \
175
lstring.lo: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \
176
ltm.h lzio.h lstring.h lgc.h
177
lstrlib.lo: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h
178
ltable.lo: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
179
ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h
180
ltablib.lo: ltablib.c lua.h luaconf.h lauxlib.h lualib.h
181
ltm.lo: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \
182
lmem.h lstring.h lgc.h ltable.h
183
lua.lo: lua.c lua.h luaconf.h lauxlib.h lualib.h
184
luac.lo: luac.c lua.h luaconf.h lauxlib.h lobject.h llimits.h lstate.h \
185
ltm.h lzio.h lmem.h lundump.h ldebug.h lopcodes.h
186
lundump.lo: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \
187
llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h lundump.h
188
lvm.lo: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
189
lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h lvm.h
190
lzio.lo: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \