1# Makefile for building Lua
2# See ../doc/readme.html for installation and customization instructions.
3
4# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
5
6# Your platform. See PLATS for possible values.
7PLAT= none
8
9PREFIX?=/var/ossec
10
11#CC= gcc
12CFLAGS= -Wall -DLUA_COMPAT_ALL -DPREFIX=\"$(PREFIX)\" $(SYSCFLAGS) $(MYCFLAGS)
13LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
14LIBS= -lm $(SYSLIBS) $(MYLIBS)
15
16AR= ar rcu
17RANLIB= ranlib
18RM= rm -f
19
20SYSCFLAGS=
21SYSLDFLAGS=
22SYSLIBS=
23
24MYCFLAGS=
25MYLDFLAGS=
26MYLIBS=
27MYOBJS=
28
29# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
30
31PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
32
33LUA_A=	liblua.a
34CORE_O=	lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
35	lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
36	ltm.o lundump.o lvm.o lzio.o
37LIB_O=	lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o \
38	lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o
39BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
40
41LUA_T=	ossec-lua
42LUA_O=	lua.o
43
44LUAC_T=	ossec-luac
45LUAC_O=	luac.o
46
47ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
48ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
49ALL_A= $(LUA_A)
50
51# Targets start here.
52default: $(PLAT)
53
54all:	$(ALL_T)
55
56o:	$(ALL_O)
57
58a:	$(ALL_A)
59
60$(LUA_A): $(BASE_O)
61	$(AR) $@ $(BASE_O)
62	$(RANLIB) $@
63
64$(LUA_T): $(LUA_O) $(LUA_A)
65	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
66
67$(LUAC_T): $(LUAC_O) $(LUA_A)
68	$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
69
70clean:
71	$(RM) $(ALL_T) $(ALL_O)
72
73depend:
74	@$(CC) $(CFLAGS) -MM l*.c
75
76echo:
77	@echo "PLAT= $(PLAT)"
78	@echo "CC= $(CC)"
79	@echo "CFLAGS= $(CFLAGS)"
80	@echo "LDFLAGS= $(SYSLDFLAGS)"
81	@echo "LIBS= $(LIBS)"
82	@echo "AR= $(AR)"
83	@echo "RANLIB= $(RANLIB)"
84	@echo "RM= $(RM)"
85
86# Convenience targets for popular platforms
87ALL= all
88
89none:
90	@echo "Please do 'make PLATFORM' where PLATFORM is one of these:"
91	@echo "   $(PLATS)"
92
93aix:
94	$(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall"
95
96ansi:
97	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_ANSI"
98
99bsd:
100	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN -I/usr/local/include" SYSLIBS="-Wl,-E -lreadline  $(pkgconf --libs libinotify) -Wl,-rpath,/usr/local/lib  -L/usr/local/lib"
101
102freebsd:
103	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX  -I/usr/local/include" SYSLIBS="-Wl,-E -lreadline  $(pkgconf --libs libinotify) -Wl,-rpath,/usr/local/lib  -L/usr/local/lib"
104
105generic: $(ALL)
106
107linux:
108	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX " SYSLIBS="-Wl,-E -ldl -lreadline  $(pkgconf --libs libinotify) -Wl,-rpath,/usr/local/lib "
109
110macosx:
111	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline  $(pkgconf --libs libinotify) -Wl,-rpath,/usr/local/lib " CC=cc
112
113mingw:
114	$(MAKE) "LUA_A=lua52.dll" "LUA_T=ossec-lua.exe" \
115	"AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \
116	"SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" ossec-lua.exe
117	$(MAKE) "LUAC_T=luac.exe" ossec-luac.exe
118
119posix:
120	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX"
121
122solaris:
123	$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl"
124
125# list targets that do not create files (but not all makes understand .PHONY)
126.PHONY: all $(PLATS) default o a clean depend echo none
127
128# DO NOT DELETE
129
130lapi.o: lapi.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h ltm.h \
131 lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lstring.h ltable.h lundump.h \
132 lvm.h
133lauxlib.o: lauxlib.c lua.h luaconf.h lauxlib.h
134lbaselib.o: lbaselib.c lua.h luaconf.h lauxlib.h lualib.h
135lbitlib.o: lbitlib.c lua.h luaconf.h lauxlib.h lualib.h
136lcode.o: lcode.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
137 lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lgc.h \
138 lstring.h ltable.h lvm.h
139lcorolib.o: lcorolib.c lua.h luaconf.h lauxlib.h lualib.h
140lctype.o: lctype.c lctype.h lua.h luaconf.h llimits.h
141ldblib.o: ldblib.c lua.h luaconf.h lauxlib.h lualib.h
142ldebug.o: ldebug.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h \
143 ltm.h lzio.h lmem.h lcode.h llex.h lopcodes.h lparser.h ldebug.h ldo.h \
144 lfunc.h lstring.h lgc.h ltable.h lvm.h
145ldo.o: ldo.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h ltm.h \
146 lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lopcodes.h lparser.h \
147 lstring.h ltable.h lundump.h lvm.h
148ldump.o: ldump.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h \
149 lzio.h lmem.h lundump.h
150lfunc.o: lfunc.c lua.h luaconf.h lfunc.h lobject.h llimits.h lgc.h \
151 lstate.h ltm.h lzio.h lmem.h
152lgc.o: lgc.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
153 lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h
154linit.o: linit.c lua.h luaconf.h lualib.h lauxlib.h
155liolib.o: liolib.c lua.h luaconf.h lauxlib.h lualib.h
156llex.o: llex.c lua.h luaconf.h lctype.h llimits.h ldo.h lobject.h \
157 lstate.h ltm.h lzio.h lmem.h llex.h lparser.h lstring.h lgc.h ltable.h
158lmathlib.o: lmathlib.c lua.h luaconf.h lauxlib.h lualib.h
159lmem.o: lmem.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
160 ltm.h lzio.h lmem.h ldo.h lgc.h
161loadlib.o: loadlib.c lua.h luaconf.h lauxlib.h lualib.h
162lobject.o: lobject.c lua.h luaconf.h lctype.h llimits.h ldebug.h lstate.h \
163 lobject.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h lvm.h
164lopcodes.o: lopcodes.c lopcodes.h llimits.h lua.h luaconf.h
165loslib.o: loslib.c lua.h luaconf.h lauxlib.h lualib.h
166lparser.o: lparser.c lua.h luaconf.h lcode.h llex.h lobject.h llimits.h \
167 lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h ldo.h lfunc.h \
168 lstring.h lgc.h ltable.h
169lstate.o: lstate.c lua.h luaconf.h lapi.h llimits.h lstate.h lobject.h \
170 ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h llex.h lstring.h \
171 ltable.h
172lstring.o: lstring.c lua.h luaconf.h lmem.h llimits.h lobject.h lstate.h \
173 ltm.h lzio.h lstring.h lgc.h
174lstrlib.o: lstrlib.c lua.h luaconf.h lauxlib.h lualib.h
175ltable.o: ltable.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h \
176 ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h
177ltablib.o: ltablib.c lua.h luaconf.h lauxlib.h lualib.h
178ltm.o: ltm.c lua.h luaconf.h lobject.h llimits.h lstate.h ltm.h lzio.h \
179 lmem.h lstring.h lgc.h ltable.h
180lua.o: lua.c lua.h luaconf.h lauxlib.h lualib.h
181luac.o: luac.c lua.h luaconf.h lauxlib.h lobject.h llimits.h lstate.h \
182 ltm.h lzio.h lmem.h lundump.h ldebug.h lopcodes.h
183lundump.o: lundump.c lua.h luaconf.h ldebug.h lstate.h lobject.h \
184 llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h lundump.h
185lvm.o: lvm.c lua.h luaconf.h ldebug.h lstate.h lobject.h llimits.h ltm.h \
186 lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h ltable.h lvm.h
187lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \
188 lzio.h
189
190