makefile 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #
  2. ## $Id: makefile,v 1.1 1997/09/16 19:33:21 roberto Exp roberto $
  3. ## Makefile
  4. ## See Copyright Notice in lua.h
  5. #
  6. #CONFIGURATION
  7. # define (undefine) POPEN if your system (does not) support piped I/O
  8. #
  9. # define (undefine) _POSIX_SOURCE if your system is (not) POSIX compliant
  10. #
  11. # define (undefine) OLD_ANSI if your system does NOT have some new ANSI
  12. # facilities ("strerror" and "locale.h"). Although they are ANSI,
  13. # SunOS does not comply; so, add "-DOLD_ANSI" on SunOS
  14. #
  15. # define LUA_COMPAT2_5=0 if yous system does not need to be compatible with
  16. # version 2.5 (or older)
  17. CONFIG = -DPOPEN -D_POSIX_SOURCE
  18. #CONFIG = -DLUA_COMPAT2_5=0 -DOLD_ANSI -DDEBUG
  19. # Compilation parameters
  20. CC = gcc
  21. CWARNS = -Wall -Wmissing-prototypes -Wshadow -pedantic -Wpointer-arith -Wcast-align -Waggregate-return
  22. CFLAGS = $(CONFIG) $(CWARNS) -ansi -O2
  23. AR = ar
  24. ARFLAGS = rvl
  25. # Aplication modules
  26. LUAOBJS = \
  27. lapi.o \
  28. lauxlib.o \
  29. lbuiltin.o \
  30. ldo.o \
  31. lfunc.o \
  32. lgc.o \
  33. llex.o \
  34. lmem.o \
  35. lobject.o \
  36. lparser.o \
  37. lstring.o \
  38. ltable.o \
  39. ltm.o \
  40. lvm.o \
  41. lundump.o \
  42. lzio.o
  43. LIBOBJS = \
  44. liolib.o \
  45. lmathlib.o \
  46. lstrlib.o
  47. lua : lua.o liblua.a liblualib.a
  48. $(CC) $(CFLAGS) -o $@ lua.o -L. -llua -llualib -lm
  49. liblua.a : $(LUAOBJS)
  50. $(AR) $(ARFLAGS) $@ $?
  51. ranlib $@
  52. liblualib.a : $(LIBOBJS)
  53. $(AR) $(ARFLAGS) $@ $?
  54. ranlib $@
  55. liblua.so.1.0 : lua.o
  56. ld -o liblua.so.1.0 $(LUAOBJS)
  57. y.tab.c y.tab.h : lua.stx
  58. yacc -d lua.stx
  59. lparser.c : y.tab.c
  60. sed -e 's/yy/luaY_/g' -e 's/malloc\.h/stdlib\.h/g' y.tab.c > lparser.c
  61. ltokens.h : y.tab.h
  62. sed -e 's/yy/luaY_/g' y.tab.h > ltokens.h
  63. clear :
  64. rcsclean
  65. rm -f *.o
  66. rm -f lparser.c ltokens.h y.tab.c y.tab.h
  67. co lua.h lualib.h luadebug.h
  68. %.h : RCS/%.h,v
  69. co $@
  70. %.c : RCS/%.c,v
  71. co $@
  72. lapi.o: lapi.c lapi.h lua.h lobject.h lauxlib.h ldo.h lfunc.h lgc.h \
  73. lmem.h lstring.h ltable.h ltm.h luadebug.h lvm.h
  74. lauxlib.o: lauxlib.c lauxlib.h lua.h luadebug.h
  75. lbuiltin.o: lbuiltin.c lapi.h lua.h lobject.h lauxlib.h lbuiltin.h \
  76. lmem.h lstring.h ltable.h ltm.h
  77. ldo.o: ldo.c lbuiltin.h ldo.h lobject.h lua.h lgc.h lmem.h lparser.h \
  78. lzio.h ltm.h luadebug.h lundump.h lvm.h
  79. lfunc.o: lfunc.c lfunc.h lobject.h lua.h lmem.h
  80. lgc.o: lgc.c ldo.h lobject.h lua.h lfunc.h lgc.h lmem.h lstring.h \
  81. ltable.h ltm.h
  82. liolib.o: liolib.c lauxlib.h lua.h luadebug.h lualib.h
  83. llex.o: llex.c llex.h lobject.h lua.h lzio.h lmem.h lparser.h \
  84. lstring.h ltokens.h luadebug.h
  85. lmathlib.o: lmathlib.c lauxlib.h lua.h lualib.h
  86. lmem.o: lmem.c lmem.h lua.h
  87. lobject.o: lobject.c lobject.h lua.h
  88. lparser.o: lparser.c lauxlib.h lua.h ldo.h lobject.h lfunc.h llex.h \
  89. lzio.h lmem.h lopcodes.h lparser.h lstring.h luadebug.h
  90. lstring.o: lstring.c lmem.h lobject.h lua.h lstring.h
  91. lstrlib.o: lstrlib.c lauxlib.h lua.h lualib.h
  92. ltable.o: ltable.c lauxlib.h lua.h lmem.h lobject.h ltable.h
  93. ltm.o: ltm.c lauxlib.h lua.h ldo.h lobject.h lmem.h ltm.h lapi.h
  94. lua.o: lua.c lua.h luadebug.h lualib.h
  95. lundump.o: lundump.c lundump.h lobject.h lua.h lzio.h
  96. lvm.o: lvm.c lauxlib.h lua.h ldo.h lobject.h lfunc.h lgc.h lmem.h \
  97. lopcodes.h lstring.h ltable.h ltm.h luadebug.h lvm.h
  98. lzio.o: lzio.c lzio.h