| # makefile for Lua etc | |
| TOP= .. | |
| LIB= $(TOP)/src | |
| INC= $(TOP)/src | |
| BIN= $(TOP)/src | |
| SRC= $(TOP)/src | |
| TST= $(TOP)/test | |
| CC= gcc | |
| CFLAGS= -O2 -Wall -I$(INC) $(MYCFLAGS) | |
| MYCFLAGS= | |
| MYLDFLAGS= -Wl,-E | |
| MYLIBS= -lm | |
| #MYLIBS= -lm -Wl,-E -ldl -lreadline -lhistory -lncurses | |
| RM= rm -f | |
| default: | |
| @echo 'Please choose a target: min noparser one strict clean' | |
| min: min.c | |
| $(CC) $(CFLAGS) $@.c -L$(LIB) -llua $(MYLIBS) | |
| echo 'print"Hello there!"' | ./a.out | |
| noparser: noparser.o | |
| $(CC) noparser.o $(SRC)/lua.o -L$(LIB) -llua $(MYLIBS) | |
| $(BIN)/luac $(TST)/hello.lua | |
| -./a.out luac.out | |
| -./a.out -e'a=1' | |
| one: | |
| $(CC) $(CFLAGS) all.c $(MYLIBS) | |
| ./a.out $(TST)/hello.lua | |
| strict: | |
| -$(BIN)/lua -e 'print(a);b=2' | |
| -$(BIN)/lua -lstrict -e 'print(a)' | |
| -$(BIN)/lua -e 'function f() b=2 end f()' | |
| -$(BIN)/lua -lstrict -e 'function f() b=2 end f()' | |
| clean: | |
| $(RM) a.out core core.* *.o luac.out | |
| .PHONY: default min noparser one strict clean |