Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
lua/makefile
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
211 lines (172 sloc)
7.29 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Developer's makefile for building Lua | |
| # see luaconf.h for further customization | |
| # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= | |
| # Warnings valid for both C and C++ | |
| CWARNSCPP= \ | |
| -Wfatal-errors \ | |
| -Wextra \ | |
| -Wshadow \ | |
| -Wsign-compare \ | |
| -Wundef \ | |
| -Wwrite-strings \ | |
| -Wredundant-decls \ | |
| -Wdisabled-optimization \ | |
| -Wdouble-promotion \ | |
| -Wmissing-declarations \ | |
| # the next warnings might be useful sometimes, | |
| # but usually they generate too much noise | |
| # -Werror \ | |
| # -pedantic # warns if we use jump tables \ | |
| # -Wconversion \ | |
| # -Wsign-conversion \ | |
| # -Wstrict-overflow=2 \ | |
| # -Wformat=2 \ | |
| # -Wcast-qual \ | |
| # Warnings for gcc, not valid for clang | |
| CWARNGCC= \ | |
| -Wlogical-op \ | |
| -Wno-aggressive-loop-optimizations \ | |
| # The next warnings are neither valid nor needed for C++ | |
| CWARNSC= -Wdeclaration-after-statement \ | |
| -Wmissing-prototypes \ | |
| -Wnested-externs \ | |
| -Wstrict-prototypes \ | |
| -Wc++-compat \ | |
| -Wold-style-definition \ | |
| CWARNS= $(CWARNSCPP) $(CWARNSC) $(CWARNGCC) | |
| # Some useful compiler options for internal tests: | |
| # -DLUAI_ASSERT turns on all assertions inside Lua. | |
| # -DHARDSTACKTESTS forces a reallocation of the stack at every point where | |
| # the stack can be reallocated. | |
| # -DHARDMEMTESTS forces a full collection at all points where the collector | |
| # can run. | |
| # -DEMERGENCYGCTESTS forces an emergency collection at every single allocation. | |
| # -DEXTERNMEMCHECK removes internal consistency checking of blocks being | |
| # deallocated (useful when an external tool like valgrind does the check). | |
| # -DMAXINDEXRK=k limits range of constants in RK instruction operands. | |
| # -DLUA_COMPAT_5_3 | |
| # -pg -malign-double | |
| # -DLUA_USE_CTYPE -DLUA_USE_APICHECK | |
| # The following options help detect "undefined behavior"s that seldom | |
| # create problems; some are only available in newer gcc versions. To | |
| # use some of them, we also have to define an enrivonment variable | |
| # ASAN_OPTIONS="detect_invalid_pointer_pairs=2". | |
| # -fsanitize=undefined | |
| # -fsanitize=pointer-subtract -fsanitize=address -fsanitize=pointer-compare | |
| # TESTS= -DLUA_USER_H='"ltests.h"' -O0 -g | |
| LOCAL = $(TESTS) $(CWARNS) | |
| # enable Linux goodies | |
| MYCFLAGS= $(LOCAL) -std=c99 -DLUA_USE_LINUX -DLUA_USE_READLINE | |
| MYLDFLAGS= $(LOCAL) -Wl,-E | |
| MYLIBS= -ldl -lreadline | |
| CC= gcc | |
| CFLAGS= -Wall -O2 $(MYCFLAGS) -fno-stack-protector -fno-common -march=native | |
| AR= ar rc | |
| RANLIB= ranlib | |
| RM= rm -f | |
| # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= | |
| LIBS = -lm | |
| CORE_T= liblua.a | |
| CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ | |
| lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ | |
| ltm.o lundump.o lvm.o lzio.o ltests.o | |
| AUX_O= lauxlib.o | |
| LIB_O= lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o \ | |
| lutf8lib.o loadlib.o lcorolib.o linit.o | |
| LUA_T= lua | |
| LUA_O= lua.o | |
| ALL_T= $(CORE_T) $(LUA_T) | |
| ALL_O= $(CORE_O) $(LUA_O) $(AUX_O) $(LIB_O) | |
| ALL_A= $(CORE_T) | |
| all: $(ALL_T) | |
| touch all | |
| o: $(ALL_O) | |
| a: $(ALL_A) | |
| $(CORE_T): $(CORE_O) $(AUX_O) $(LIB_O) | |
| $(AR) $@ $? | |
| $(RANLIB) $@ | |
| $(LUA_T): $(LUA_O) $(CORE_T) | |
| $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(CORE_T) $(LIBS) $(MYLIBS) $(DL) | |
| clean: | |
| $(RM) $(ALL_T) $(ALL_O) | |
| depend: | |
| @$(CC) $(CFLAGS) -MM *.c | |
| echo: | |
| @echo "CC = $(CC)" | |
| @echo "CFLAGS = $(CFLAGS)" | |
| @echo "AR = $(AR)" | |
| @echo "RANLIB = $(RANLIB)" | |
| @echo "RM = $(RM)" | |
| @echo "MYCFLAGS = $(MYCFLAGS)" | |
| @echo "MYLDFLAGS = $(MYLDFLAGS)" | |
| @echo "MYLIBS = $(MYLIBS)" | |
| @echo "DL = $(DL)" | |
| $(ALL_O): makefile ltests.h | |
| # DO NOT EDIT | |
| # automatically made with 'gcc -MM l*.c' | |
| lapi.o: lapi.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ | |
| lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lstring.h \ | |
| ltable.h lundump.h lvm.h | |
| lauxlib.o: lauxlib.c lprefix.h lua.h luaconf.h lauxlib.h | |
| lbaselib.o: lbaselib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| lcode.o: lcode.c lprefix.h lua.h luaconf.h lcode.h llex.h lobject.h \ | |
| llimits.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h \ | |
| ldo.h lgc.h lstring.h ltable.h lvm.h | |
| lcorolib.o: lcorolib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| lctype.o: lctype.c lprefix.h lctype.h lua.h luaconf.h llimits.h | |
| ldblib.o: ldblib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| ldebug.o: ldebug.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ | |
| lobject.h ltm.h lzio.h lmem.h lcode.h llex.h lopcodes.h lparser.h \ | |
| ldebug.h ldo.h lfunc.h lstring.h lgc.h ltable.h lvm.h | |
| ldo.o: ldo.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ | |
| lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lopcodes.h \ | |
| lparser.h lstring.h ltable.h lundump.h lvm.h | |
| ldump.o: ldump.c lprefix.h lua.h luaconf.h lobject.h llimits.h lstate.h \ | |
| ltm.h lzio.h lmem.h lundump.h | |
| lfunc.o: lfunc.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ | |
| llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h | |
| lgc.o: lgc.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ | |
| llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h | |
| linit.o: linit.c lprefix.h lua.h luaconf.h lualib.h lauxlib.h | |
| liolib.o: liolib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| llex.o: llex.c lprefix.h lua.h luaconf.h lctype.h llimits.h ldebug.h \ | |
| lstate.h lobject.h ltm.h lzio.h lmem.h ldo.h lgc.h llex.h lparser.h \ | |
| lstring.h ltable.h | |
| lmathlib.o: lmathlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| lmem.o: lmem.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ | |
| llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h | |
| loadlib.o: loadlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| lobject.o: lobject.c lprefix.h lua.h luaconf.h lctype.h llimits.h \ | |
| ldebug.h lstate.h lobject.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h \ | |
| lvm.h | |
| lopcodes.o: lopcodes.c lprefix.h lopcodes.h llimits.h lua.h luaconf.h | |
| loslib.o: loslib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| lparser.o: lparser.c lprefix.h lua.h luaconf.h lcode.h llex.h lobject.h \ | |
| llimits.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h \ | |
| ldo.h lfunc.h lstring.h lgc.h ltable.h | |
| lstate.o: lstate.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ | |
| lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h llex.h \ | |
| lstring.h ltable.h | |
| lstring.o: lstring.c lprefix.h lua.h luaconf.h ldebug.h lstate.h \ | |
| lobject.h llimits.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h | |
| lstrlib.o: lstrlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| ltable.o: ltable.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ | |
| llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h | |
| ltablib.o: ltablib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| ltests.o: ltests.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ | |
| lobject.h ltm.h lzio.h lmem.h lauxlib.h lcode.h llex.h lopcodes.h \ | |
| lparser.h lctype.h ldebug.h ldo.h lfunc.h lopnames.h lstring.h lgc.h \ | |
| ltable.h lualib.h | |
| ltm.o: ltm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ | |
| llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h | |
| lua.o: lua.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| lundump.o: lundump.c lprefix.h lua.h luaconf.h ldebug.h lstate.h \ | |
| lobject.h llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h \ | |
| lundump.h | |
| lutf8lib.o: lutf8lib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h | |
| lvm.o: lvm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ | |
| llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h \ | |
| ltable.h lvm.h ljumptab.h | |
| lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \ | |
| lobject.h ltm.h lzio.h | |
| # (end of Makefile) |