_dinsdale

Lua Shared Object

Feb 20th, 2018
423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 6.11 KB | None | 0 0
  1. # makefile for building Lua
  2. # see ../INSTALL for installation instructions
  3. # see ../Makefile and luaconf.h for further customization
  4.  
  5. # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
  6.  
  7. # Your platform. See PLATS for possible values.
  8. PLAT= none
  9.  
  10. VERSION=51
  11. CC= gcc
  12. CFLAGS= -O2 -Wall $(MYCFLAGS)
  13. AR= ar rcu
  14. RANLIB= ranlib
  15. RM= rm -f
  16. LIBS= -lm $(MYLIBS)
  17.  
  18. MYCFLAGS=
  19. MYLDFLAGS=
  20. MYLIBS=
  21.  
  22. # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
  23.  
  24. PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
  25.  
  26. LUA_A=  liblua.a
  27. CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
  28.     lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o  \
  29.     lundump.o lvm.o lzio.o
  30. LIB_O=  lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \
  31.     lstrlib.o loadlib.o linit.o
  32.  
  33. LUA_T=  lua
  34. LUA_O=  lua.o
  35.  
  36. LUAC_T= luac
  37. LUAC_O= luac.o print.o
  38.  
  39. LUA_SO= liblua$(VERSION).so
  40.  
  41. ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
  42. ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
  43. ALL_A= $(LUA_A)
  44.  
  45. default: $(PLAT)
  46.  
  47. all:    $(ALL_T)
  48.  
  49. o:  $(ALL_O)
  50.  
  51. a:  $(ALL_A)
  52.  
  53. $(LUA_SO): $(CORE_O) $(LIB_O)
  54.     $(CC) -o $@ $(MYLDFLAGS) $(CORE_O) $(LIB_O)
  55.  
  56. $(LUA_A): $(CORE_O) $(LIB_O)
  57.     $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
  58.     $(RANLIB) $@
  59.  
  60. $(LUA_T): $(LUA_O) $(LUA_A)
  61.     $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
  62.  
  63. $(LUAC_T): $(LUAC_O) $(LUA_A)
  64.     $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
  65.  
  66. clean:
  67.     $(RM) $(ALL_T) $(ALL_O)
  68.  
  69. depend:
  70.     @$(CC) $(CFLAGS) -MM l*.c print.c
  71.  
  72. echo:
  73.     @echo "PLAT = $(PLAT)"
  74.     @echo "CC = $(CC)"
  75.     @echo "CFLAGS = $(CFLAGS)"
  76.     @echo "AR = $(AR)"
  77.     @echo "RANLIB = $(RANLIB)"
  78.     @echo "RM = $(RM)"
  79.     @echo "MYCFLAGS = $(MYCFLAGS)"
  80.     @echo "MYLDFLAGS = $(MYLDFLAGS)"
  81.     @echo "MYLIBS = $(MYLIBS)"
  82.  
  83. # convenience targets for popular platforms
  84.  
  85. none:
  86.     @echo "Please choose a platform:"
  87.     @echo "   $(PLATS)"
  88.  
  89. aix:
  90.     $(MAKE) all CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl" MYLDFLAGS="-brtl -bexpall"
  91.  
  92. ansi:
  93.     $(MAKE) all MYCFLAGS=-DLUA_ANSI
  94.  
  95. bsd:
  96.     $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E"
  97.  
  98. freebsd:
  99.     $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX" MYLIBS="-Wl,-E -lreadline"
  100.  
  101. generic:
  102.     $(MAKE) all MYCFLAGS=
  103.  
  104. linux:
  105.     $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
  106.  
  107. macosx:
  108.     $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"
  109. # use this on Mac OS X 10.3-
  110. #   $(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX
  111.  
  112. mingw:
  113.     $(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \
  114.     "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \
  115.     "MYCFLAGS=-DLUA_BUILD_AS_DLL" "MYLIBS=" "MYLDFLAGS=-s" lua.exe
  116.     $(MAKE) "LUAC_T=luac.exe" luac.exe
  117.  
  118. posix:
  119.     $(MAKE) all MYCFLAGS=-DLUA_USE_POSIX
  120.  
  121. solaris:
  122.     $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-ldl"
  123.  
  124. # list targets that do not create files (but not all makes understand .PHONY)
  125. .PHONY: all $(PLATS) default o a clean depend echo none
  126.  
  127. # DO NOT DELETE
  128.  
  129. lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \
  130.   lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \
  131.   lundump.h lvm.h
  132. lauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h
  133. lbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h
  134. lcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
  135.   lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lgc.h \
  136.   ltable.h
  137. ldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h
  138. ldebug.o: ldebug.c lua.h luaconf.h lapi.h lobject.h llimits.h lcode.h \
  139.   llex.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \
  140.   lfunc.h lstring.h lgc.h ltable.h lvm.h
  141. ldo.o: ldo.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
  142.   lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h lstring.h \
  143.   ltable.h lundump.h lvm.h
  144. ldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \
  145.   lzio.h lmem.h lundump.h
  146. lfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h lmem.h \
  147.   lstate.h ltm.h lzio.h
  148. lgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
  149.   lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h
  150. linit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h
  151. liolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h
  152. llex.o: llex.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h ltm.h \
  153.   lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h
  154. lmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h
  155. lmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
  156.   ltm.h lzio.h lmem.h ldo.h
  157. loadlib.o: loadlib.c lua.h luaconf.h lauxlib.h lualib.h
  158. lobject.o: lobject.c lua.h luaconf.h ldo.h lobject.h llimits.h lstate.h \
  159.   ltm.h lzio.h lmem.h lstring.h lgc.h lvm.h
  160. lopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h
  161. loslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h
  162. lparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
  163.   lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h \
  164.   lfunc.h lstring.h lgc.h ltable.h
  165. lstate.o: lstate.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
  166.   ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h llex.h lstring.h ltable.h
  167. lstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \
  168.   ltm.h lzio.h lstring.h lgc.h
  169. lstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h
  170. ltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
  171.   ltm.h lzio.h lmem.h ldo.h lgc.h ltable.h
  172. ltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h
  173. ltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \
  174.   lmem.h lstring.h lgc.h ltable.h
  175. lua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h
  176. luac.o: luac.c lua.h luaconf.h lauxlib.h ldo.h lobject.h llimits.h \
  177.   lstate.h ltm.h lzio.h lmem.h lfunc.h lopcodes.h lstring.h lgc.h \
  178.   lundump.h
  179. lundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \
  180.   llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h lundump.h
  181. lvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
  182.   lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h lvm.h
  183. lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \
  184.   lzio.h
  185. print.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h \
  186.   ltm.h lzio.h lmem.h lopcodes.h lundump.h
  187.  
  188. # (end of Makefile)
Advertisement
Add Comment
Please, Sign In to add comment