18e3e3a7aSWarner Losh# Makefile for building Lua 28e3e3a7aSWarner Losh# See ../doc/readme.html for installation and customization instructions. 38e3e3a7aSWarner Losh 48e3e3a7aSWarner Losh# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= 58e3e3a7aSWarner Losh 68e3e3a7aSWarner Losh# Your platform. See PLATS for possible values. 78e3e3a7aSWarner LoshPLAT= none 88e3e3a7aSWarner Losh 98e3e3a7aSWarner LoshCC= gcc -std=gnu99 108e3e3a7aSWarner LoshCFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) 118e3e3a7aSWarner LoshLDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) 128e3e3a7aSWarner LoshLIBS= -lm $(SYSLIBS) $(MYLIBS) 138e3e3a7aSWarner Losh 148e3e3a7aSWarner LoshAR= ar rcu 158e3e3a7aSWarner LoshRANLIB= ranlib 168e3e3a7aSWarner LoshRM= rm -f 178e3e3a7aSWarner Losh 188e3e3a7aSWarner LoshSYSCFLAGS= 198e3e3a7aSWarner LoshSYSLDFLAGS= 208e3e3a7aSWarner LoshSYSLIBS= 218e3e3a7aSWarner Losh 228e3e3a7aSWarner LoshMYCFLAGS= 238e3e3a7aSWarner LoshMYLDFLAGS= 248e3e3a7aSWarner LoshMYLIBS= 258e3e3a7aSWarner LoshMYOBJS= 268e3e3a7aSWarner Losh 278e3e3a7aSWarner Losh# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= 288e3e3a7aSWarner Losh 298e3e3a7aSWarner LoshPLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris 308e3e3a7aSWarner Losh 318e3e3a7aSWarner LoshLUA_A= liblua.a 328e3e3a7aSWarner LoshCORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ 338e3e3a7aSWarner Losh lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ 348e3e3a7aSWarner Losh ltm.o lundump.o lvm.o lzio.o 358e3e3a7aSWarner LoshLIB_O= lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o \ 368e3e3a7aSWarner Losh lmathlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o loadlib.o linit.o 378e3e3a7aSWarner LoshBASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) 388e3e3a7aSWarner Losh 398e3e3a7aSWarner LoshLUA_T= lua 408e3e3a7aSWarner LoshLUA_O= lua.o 418e3e3a7aSWarner Losh 428e3e3a7aSWarner LoshLUAC_T= luac 438e3e3a7aSWarner LoshLUAC_O= luac.o 448e3e3a7aSWarner Losh 458e3e3a7aSWarner LoshALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) 468e3e3a7aSWarner LoshALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) 478e3e3a7aSWarner LoshALL_A= $(LUA_A) 488e3e3a7aSWarner Losh 498e3e3a7aSWarner Losh# Targets start here. 508e3e3a7aSWarner Loshdefault: $(PLAT) 518e3e3a7aSWarner Losh 528e3e3a7aSWarner Loshall: $(ALL_T) 538e3e3a7aSWarner Losh 548e3e3a7aSWarner Losho: $(ALL_O) 558e3e3a7aSWarner Losh 568e3e3a7aSWarner Losha: $(ALL_A) 578e3e3a7aSWarner Losh 588e3e3a7aSWarner Losh$(LUA_A): $(BASE_O) 598e3e3a7aSWarner Losh $(AR) $@ $(BASE_O) 608e3e3a7aSWarner Losh $(RANLIB) $@ 618e3e3a7aSWarner Losh 628e3e3a7aSWarner Losh$(LUA_T): $(LUA_O) $(LUA_A) 638e3e3a7aSWarner Losh $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) 648e3e3a7aSWarner Losh 658e3e3a7aSWarner Losh$(LUAC_T): $(LUAC_O) $(LUA_A) 668e3e3a7aSWarner Losh $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) 678e3e3a7aSWarner Losh 688e3e3a7aSWarner Loshclean: 698e3e3a7aSWarner Losh $(RM) $(ALL_T) $(ALL_O) 708e3e3a7aSWarner Losh 718e3e3a7aSWarner Loshdepend: 728e3e3a7aSWarner Losh @$(CC) $(CFLAGS) -MM l*.c 738e3e3a7aSWarner Losh 748e3e3a7aSWarner Loshecho: 758e3e3a7aSWarner Losh @echo "PLAT= $(PLAT)" 768e3e3a7aSWarner Losh @echo "CC= $(CC)" 778e3e3a7aSWarner Losh @echo "CFLAGS= $(CFLAGS)" 788e3e3a7aSWarner Losh @echo "LDFLAGS= $(SYSLDFLAGS)" 798e3e3a7aSWarner Losh @echo "LIBS= $(LIBS)" 808e3e3a7aSWarner Losh @echo "AR= $(AR)" 818e3e3a7aSWarner Losh @echo "RANLIB= $(RANLIB)" 828e3e3a7aSWarner Losh @echo "RM= $(RM)" 838e3e3a7aSWarner Losh 848e3e3a7aSWarner Losh# Convenience targets for popular platforms 858e3e3a7aSWarner LoshALL= all 868e3e3a7aSWarner Losh 878e3e3a7aSWarner Loshnone: 888e3e3a7aSWarner Losh @echo "Please do 'make PLATFORM' where PLATFORM is one of these:" 898e3e3a7aSWarner Losh @echo " $(PLATS)" 908e3e3a7aSWarner Losh 918e3e3a7aSWarner Loshaix: 928e3e3a7aSWarner Losh $(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall" 938e3e3a7aSWarner Losh 948e3e3a7aSWarner Loshbsd: 958e3e3a7aSWarner Losh $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" 968e3e3a7aSWarner Losh 978e3e3a7aSWarner Loshc89: 988e3e3a7aSWarner Losh $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CC="gcc -std=c89" 998e3e3a7aSWarner Losh @echo '' 1008e3e3a7aSWarner Losh @echo '*** C89 does not guarantee 64-bit integers for Lua.' 1018e3e3a7aSWarner Losh @echo '' 1028e3e3a7aSWarner Losh 1038e3e3a7aSWarner Losh 1048e3e3a7aSWarner Loshfreebsd: 105*e112e9d2SKyle Evans $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc" 1068e3e3a7aSWarner Losh 1078e3e3a7aSWarner Loshgeneric: $(ALL) 1088e3e3a7aSWarner Losh 1098e3e3a7aSWarner Loshlinux: 1108e3e3a7aSWarner Losh $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" 1118e3e3a7aSWarner Losh 1128e3e3a7aSWarner Loshmacosx: 113*e112e9d2SKyle Evans $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" 1148e3e3a7aSWarner Losh 1158e3e3a7aSWarner Loshmingw: 1168e3e3a7aSWarner Losh $(MAKE) "LUA_A=lua53.dll" "LUA_T=lua.exe" \ 1178e3e3a7aSWarner Losh "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ 1188e3e3a7aSWarner Losh "SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe 1198e3e3a7aSWarner Losh $(MAKE) "LUAC_T=luac.exe" luac.exe 1208e3e3a7aSWarner Losh 1218e3e3a7aSWarner Loshposix: 1228e3e3a7aSWarner Losh $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX" 1238e3e3a7aSWarner Losh 1248e3e3a7aSWarner Loshsolaris: 1258e3e3a7aSWarner Losh $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_REENTRANT" SYSLIBS="-ldl" 1268e3e3a7aSWarner Losh 1278e3e3a7aSWarner Losh# list targets that do not create files (but not all makes understand .PHONY) 1288e3e3a7aSWarner Losh.PHONY: all $(PLATS) default o a clean depend echo none 1298e3e3a7aSWarner Losh 1308e3e3a7aSWarner Losh# DO NOT DELETE 1318e3e3a7aSWarner Losh 1328e3e3a7aSWarner Loshlapi.o: lapi.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ 1338e3e3a7aSWarner Losh lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lstring.h \ 1348e3e3a7aSWarner Losh ltable.h lundump.h lvm.h 1358e3e3a7aSWarner Loshlauxlib.o: lauxlib.c lprefix.h lua.h luaconf.h lauxlib.h 1368e3e3a7aSWarner Loshlbaselib.o: lbaselib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1378e3e3a7aSWarner Loshlbitlib.o: lbitlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1388e3e3a7aSWarner Loshlcode.o: lcode.c lprefix.h lua.h luaconf.h lcode.h llex.h lobject.h \ 1398e3e3a7aSWarner Losh llimits.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h \ 1408e3e3a7aSWarner Losh ldo.h lgc.h lstring.h ltable.h lvm.h 1418e3e3a7aSWarner Loshlcorolib.o: lcorolib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1428e3e3a7aSWarner Loshlctype.o: lctype.c lprefix.h lctype.h lua.h luaconf.h llimits.h 1438e3e3a7aSWarner Loshldblib.o: ldblib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1448e3e3a7aSWarner Loshldebug.o: ldebug.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ 1458e3e3a7aSWarner Losh lobject.h ltm.h lzio.h lmem.h lcode.h llex.h lopcodes.h lparser.h \ 1468e3e3a7aSWarner Losh ldebug.h ldo.h lfunc.h lstring.h lgc.h ltable.h lvm.h 1478e3e3a7aSWarner Loshldo.o: ldo.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ 1488e3e3a7aSWarner Losh lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lopcodes.h \ 1498e3e3a7aSWarner Losh lparser.h lstring.h ltable.h lundump.h lvm.h 1508e3e3a7aSWarner Loshldump.o: ldump.c lprefix.h lua.h luaconf.h lobject.h llimits.h lstate.h \ 1518e3e3a7aSWarner Losh ltm.h lzio.h lmem.h lundump.h 1528e3e3a7aSWarner Loshlfunc.o: lfunc.c lprefix.h lua.h luaconf.h lfunc.h lobject.h llimits.h \ 1538e3e3a7aSWarner Losh lgc.h lstate.h ltm.h lzio.h lmem.h 1548e3e3a7aSWarner Loshlgc.o: lgc.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ 1558e3e3a7aSWarner Losh llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h 1568e3e3a7aSWarner Loshlinit.o: linit.c lprefix.h lua.h luaconf.h lualib.h lauxlib.h 1578e3e3a7aSWarner Loshliolib.o: liolib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1588e3e3a7aSWarner Loshllex.o: llex.c lprefix.h lua.h luaconf.h lctype.h llimits.h ldebug.h \ 1598e3e3a7aSWarner Losh lstate.h lobject.h ltm.h lzio.h lmem.h ldo.h lgc.h llex.h lparser.h \ 1608e3e3a7aSWarner Losh lstring.h ltable.h 1618e3e3a7aSWarner Loshlmathlib.o: lmathlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1628e3e3a7aSWarner Loshlmem.o: lmem.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ 1638e3e3a7aSWarner Losh llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h 1648e3e3a7aSWarner Loshloadlib.o: loadlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1658e3e3a7aSWarner Loshlobject.o: lobject.c lprefix.h lua.h luaconf.h lctype.h llimits.h \ 1668e3e3a7aSWarner Losh ldebug.h lstate.h lobject.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h \ 1678e3e3a7aSWarner Losh lvm.h 1688e3e3a7aSWarner Loshlopcodes.o: lopcodes.c lprefix.h lopcodes.h llimits.h lua.h luaconf.h 1698e3e3a7aSWarner Loshloslib.o: loslib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1708e3e3a7aSWarner Loshlparser.o: lparser.c lprefix.h lua.h luaconf.h lcode.h llex.h lobject.h \ 1718e3e3a7aSWarner Losh llimits.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h \ 1728e3e3a7aSWarner Losh ldo.h lfunc.h lstring.h lgc.h ltable.h 1738e3e3a7aSWarner Loshlstate.o: lstate.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ 1748e3e3a7aSWarner Losh lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h llex.h \ 1758e3e3a7aSWarner Losh lstring.h ltable.h 1768e3e3a7aSWarner Loshlstring.o: lstring.c lprefix.h lua.h luaconf.h ldebug.h lstate.h \ 1778e3e3a7aSWarner Losh lobject.h llimits.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h 1788e3e3a7aSWarner Loshlstrlib.o: lstrlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1798e3e3a7aSWarner Loshltable.o: ltable.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ 1808e3e3a7aSWarner Losh llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h 1818e3e3a7aSWarner Loshltablib.o: ltablib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1828e3e3a7aSWarner Loshltm.o: ltm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ 1838e3e3a7aSWarner Losh llimits.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h ltable.h lvm.h 1848e3e3a7aSWarner Loshlua.o: lua.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1858e3e3a7aSWarner Loshluac.o: luac.c lprefix.h lua.h luaconf.h lauxlib.h lobject.h llimits.h \ 1868e3e3a7aSWarner Losh lstate.h ltm.h lzio.h lmem.h lundump.h ldebug.h lopcodes.h 1878e3e3a7aSWarner Loshlundump.o: lundump.c lprefix.h lua.h luaconf.h ldebug.h lstate.h \ 1888e3e3a7aSWarner Losh lobject.h llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h \ 1898e3e3a7aSWarner Losh lundump.h 1908e3e3a7aSWarner Loshlutf8lib.o: lutf8lib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h 1918e3e3a7aSWarner Loshlvm.o: lvm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ 1928e3e3a7aSWarner Losh llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h \ 1938e3e3a7aSWarner Losh ltable.h lvm.h 1948e3e3a7aSWarner Loshlzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \ 1958e3e3a7aSWarner Losh lobject.h ltm.h lzio.h 1968e3e3a7aSWarner Losh 1978e3e3a7aSWarner Losh# (end of Makefile) 198