# 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
