# Makefile for building Lua 5.5 as one file

SRC= ..
COMPILE= gcc -std=c99 -O2 onelua.c -lm -I$(SRC) -Wall -Wextra $X $Z
MAKE_LIB=  $(COMPILE) -DMAKE_LIB  -o liblua.o -c
MAKE_LUA=  $(COMPILE) -DMAKE_LUA  -o lua $Y
MAKE_LUAC= $(COMPILE) -DMAKE_LUAC -o luac

generic:
	-$(MAKE_LIB)
	-$(MAKE_LUA)
	-$(MAKE_LUAC)

posix:
	$(MAKE) X='-DLUA_USE_POSIX'

linux:
	$(MAKE) X='-DLUA_USE_LINUX' Y='-Wl,-E -ldl'

macos:
	$(MAKE) X='-DLUA_USE_MACOSX' Y='-DLUA_USE_READLINE -lreadline'

32:
	$(MAKE) X='-DLUA_32BITS'

c89:
	$(MAKE) X='-DLUA_USE_C89 -std=c89'

recipes:
	@make --no-print-directory -n generic posix linux macos 32 c89 SRC=.

clean:
	-rm -f liblua.o lua luac

# local
V= 5.5
SRC= ../../../lua/src
ORIG= ~roberto/projetos/gitlua/onelua.c

diff:
	diff $(ORIG) .
	ls -l $(ORIG) onelua.c

get cp:
	cp -p $(ORIG) .

diffv:
	diff ../$V .

put:
	cp -p Makefile README onelua.c ../$V
	sed /local/q Makefile > ../$V/Makefile

