1*572c4311Sfengbojiang# makefile for building Lua 2*572c4311Sfengbojiang# see ../INSTALL for installation instructions 3*572c4311Sfengbojiang# see ../Makefile and luaconf.h for further customization 4*572c4311Sfengbojiang 5*572c4311Sfengbojiang# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= 6*572c4311Sfengbojiang 7*572c4311Sfengbojiang# Your platform. See PLATS for possible values. 8*572c4311SfengbojiangPLAT= none 9*572c4311Sfengbojiang 10*572c4311SfengbojiangCC?= gcc 11*572c4311SfengbojiangCFLAGS= -O2 -Wall $(MYCFLAGS) 12*572c4311SfengbojiangAR= ar rcu 13*572c4311SfengbojiangRANLIB= ranlib 14*572c4311SfengbojiangRM= rm -f 15*572c4311SfengbojiangLIBS= -lm $(MYLIBS) 16*572c4311Sfengbojiang 17*572c4311SfengbojiangMYCFLAGS= 18*572c4311SfengbojiangMYLDFLAGS= 19*572c4311SfengbojiangMYLIBS= 20*572c4311Sfengbojiang 21*572c4311Sfengbojiang# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= 22*572c4311Sfengbojiang 23*572c4311SfengbojiangPLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris 24*572c4311Sfengbojiang 25*572c4311SfengbojiangLUA_A= liblua.a 26*572c4311SfengbojiangCORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ 27*572c4311Sfengbojiang lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ 28*572c4311Sfengbojiang lundump.o lvm.o lzio.o strbuf.o fpconv.o 29*572c4311SfengbojiangLIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \ 30*572c4311Sfengbojiang lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o \ 31*572c4311Sfengbojiang lua_bit.o 32*572c4311Sfengbojiang 33*572c4311SfengbojiangLUA_T= lua 34*572c4311SfengbojiangLUA_O= lua.o 35*572c4311Sfengbojiang 36*572c4311SfengbojiangLUAC_T= luac 37*572c4311SfengbojiangLUAC_O= luac.o print.o 38*572c4311Sfengbojiang 39*572c4311SfengbojiangALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) 40*572c4311SfengbojiangALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) 41*572c4311SfengbojiangALL_A= $(LUA_A) 42*572c4311Sfengbojiang 43*572c4311Sfengbojiangdefault: $(PLAT) 44*572c4311Sfengbojiang 45*572c4311Sfengbojiangall: $(ALL_T) 46*572c4311Sfengbojiang 47*572c4311Sfengbojiango: $(ALL_O) 48*572c4311Sfengbojiang 49*572c4311Sfengbojianga: $(ALL_A) 50*572c4311Sfengbojiang 51*572c4311Sfengbojiang$(LUA_A): $(CORE_O) $(LIB_O) 52*572c4311Sfengbojiang $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files 53*572c4311Sfengbojiang $(RANLIB) $@ 54*572c4311Sfengbojiang 55*572c4311Sfengbojiang$(LUA_T): $(LUA_O) $(LUA_A) 56*572c4311Sfengbojiang $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) 57*572c4311Sfengbojiang 58*572c4311Sfengbojiang$(LUAC_T): $(LUAC_O) $(LUA_A) 59*572c4311Sfengbojiang $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) 60*572c4311Sfengbojiang 61*572c4311Sfengbojiangclean: 62*572c4311Sfengbojiang $(RM) $(ALL_T) $(ALL_O) 63*572c4311Sfengbojiang 64*572c4311Sfengbojiangdepend: 65*572c4311Sfengbojiang @$(CC) $(CFLAGS) -MM l*.c print.c 66*572c4311Sfengbojiang 67*572c4311Sfengbojiangecho: 68*572c4311Sfengbojiang @echo "PLAT = $(PLAT)" 69*572c4311Sfengbojiang @echo "CC = $(CC)" 70*572c4311Sfengbojiang @echo "CFLAGS = $(CFLAGS)" 71*572c4311Sfengbojiang @echo "AR = $(AR)" 72*572c4311Sfengbojiang @echo "RANLIB = $(RANLIB)" 73*572c4311Sfengbojiang @echo "RM = $(RM)" 74*572c4311Sfengbojiang @echo "MYCFLAGS = $(MYCFLAGS)" 75*572c4311Sfengbojiang @echo "MYLDFLAGS = $(MYLDFLAGS)" 76*572c4311Sfengbojiang @echo "MYLIBS = $(MYLIBS)" 77*572c4311Sfengbojiang 78*572c4311Sfengbojiang# convenience targets for popular platforms 79*572c4311Sfengbojiang 80*572c4311Sfengbojiangnone: 81*572c4311Sfengbojiang @echo "Please choose a platform:" 82*572c4311Sfengbojiang @echo " $(PLATS)" 83*572c4311Sfengbojiang 84*572c4311Sfengbojiangaix: 85*572c4311Sfengbojiang $(MAKE) all CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" MYLDFLAGS="-brtl -bexpall" 86*572c4311Sfengbojiang 87*572c4311Sfengbojiangansi: 88*572c4311Sfengbojiang $(MAKE) all MYCFLAGS=-DLUA_ANSI 89*572c4311Sfengbojiang 90*572c4311Sfengbojiangbsd: 91*572c4311Sfengbojiang $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E" 92*572c4311Sfengbojiang 93*572c4311Sfengbojiangfreebsd: 94*572c4311Sfengbojiang $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX" MYLIBS="-Wl,-E -lreadline" 95*572c4311Sfengbojiang 96*572c4311Sfengbojianggeneric: 97*572c4311Sfengbojiang $(MAKE) all MYCFLAGS= 98*572c4311Sfengbojiang 99*572c4311Sfengbojianglinux: 100*572c4311Sfengbojiang $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" 101*572c4311Sfengbojiang 102*572c4311Sfengbojiangmacosx: 103*572c4311Sfengbojiang $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline" 104*572c4311Sfengbojiang# use this on Mac OS X 10.3- 105*572c4311Sfengbojiang# $(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX 106*572c4311Sfengbojiang 107*572c4311Sfengbojiangmingw: 108*572c4311Sfengbojiang $(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \ 109*572c4311Sfengbojiang "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ 110*572c4311Sfengbojiang "MYCFLAGS=-DLUA_BUILD_AS_DLL" "MYLIBS=" "MYLDFLAGS=-s" lua.exe 111*572c4311Sfengbojiang $(MAKE) "LUAC_T=luac.exe" luac.exe 112*572c4311Sfengbojiang 113*572c4311Sfengbojiangposix: 114*572c4311Sfengbojiang $(MAKE) all MYCFLAGS=-DLUA_USE_POSIX 115*572c4311Sfengbojiang 116*572c4311Sfengbojiangsolaris: 117*572c4311Sfengbojiang $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" 118*572c4311Sfengbojiang 119*572c4311Sfengbojiang# list targets that do not create files (but not all makes understand .PHONY) 120*572c4311Sfengbojiang.PHONY: all $(PLATS) default o a clean depend echo none 121*572c4311Sfengbojiang 122*572c4311Sfengbojiang# DO NOT DELETE 123*572c4311Sfengbojiang 124*572c4311Sfengbojianglapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \ 125*572c4311Sfengbojiang lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \ 126*572c4311Sfengbojiang lundump.h lvm.h 127*572c4311Sfengbojianglauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h 128*572c4311Sfengbojianglbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h 129*572c4311Sfengbojianglcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ 130*572c4311Sfengbojiang lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lgc.h \ 131*572c4311Sfengbojiang ltable.h 132*572c4311Sfengbojiangldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h 133*572c4311Sfengbojiangldebug.o: ldebug.c lua.h luaconf.h lapi.h lobject.h llimits.h lcode.h \ 134*572c4311Sfengbojiang llex.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \ 135*572c4311Sfengbojiang lfunc.h lstring.h lgc.h ltable.h lvm.h 136*572c4311Sfengbojiangldo.o: ldo.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ 137*572c4311Sfengbojiang lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h lstring.h \ 138*572c4311Sfengbojiang ltable.h lundump.h lvm.h 139*572c4311Sfengbojiangldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \ 140*572c4311Sfengbojiang lzio.h lmem.h lundump.h 141*572c4311Sfengbojianglfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h lmem.h \ 142*572c4311Sfengbojiang lstate.h ltm.h lzio.h 143*572c4311Sfengbojianglgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ 144*572c4311Sfengbojiang lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h 145*572c4311Sfengbojianglinit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h 146*572c4311Sfengbojiangliolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h 147*572c4311Sfengbojiangllex.o: llex.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h ltm.h \ 148*572c4311Sfengbojiang lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h 149*572c4311Sfengbojianglmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h 150*572c4311Sfengbojianglmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ 151*572c4311Sfengbojiang ltm.h lzio.h lmem.h ldo.h 152*572c4311Sfengbojiangloadlib.o: loadlib.c lua.h luaconf.h lauxlib.h lualib.h 153*572c4311Sfengbojianglobject.o: lobject.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h \ 154*572c4311Sfengbojiang ltm.h lzio.h lmem.h lstring.h lgc.h lvm.h 155*572c4311Sfengbojianglopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h 156*572c4311Sfengbojiangloslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h 157*572c4311Sfengbojianglparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \ 158*572c4311Sfengbojiang lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \ 159*572c4311Sfengbojiang lfunc.h lstring.h lgc.h ltable.h 160*572c4311Sfengbojianglstate.o: lstate.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ 161*572c4311Sfengbojiang ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h llex.h lstring.h ltable.h 162*572c4311Sfengbojianglstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \ 163*572c4311Sfengbojiang ltm.h lzio.h lstring.h lgc.h 164*572c4311Sfengbojianglstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h 165*572c4311Sfengbojiangltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \ 166*572c4311Sfengbojiang ltm.h lzio.h lmem.h ldo.h lgc.h ltable.h 167*572c4311Sfengbojiangltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h 168*572c4311Sfengbojiangltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \ 169*572c4311Sfengbojiang lmem.h lstring.h lgc.h ltable.h 170*572c4311Sfengbojianglua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h 171*572c4311Sfengbojiangluac.o: luac.c lua.h luaconf.h lauxlib.h ldo.h lobject.h llimits.h \ 172*572c4311Sfengbojiang lstate.h ltm.h lzio.h lmem.h lfunc.h lopcodes.h lstring.h lgc.h \ 173*572c4311Sfengbojiang lundump.h 174*572c4311Sfengbojianglundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \ 175*572c4311Sfengbojiang llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h lundump.h 176*572c4311Sfengbojianglvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \ 177*572c4311Sfengbojiang lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h lvm.h 178*572c4311Sfengbojianglzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \ 179*572c4311Sfengbojiang lzio.h 180*572c4311Sfengbojiangprint.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h \ 181*572c4311Sfengbojiang ltm.h lzio.h lmem.h lopcodes.h lundump.h 182*572c4311Sfengbojiang 183*572c4311Sfengbojiang# (end of Makefile) 184