3 ifeq ($(PLATFORM), none)
5 @echo "You haven't edited 'config' yet. Set your settings there, then run 'make' again"
7 all: setenv.sh lua libraries install-lua bin-libraries compiler compile-libraries
10 install-lua: lua target-dirs
11 cp $(LUA_VM_DIR)/$(RUN) $(LUA_VM_DIR)/$(COMPILE) $(TARGET_BIN_PATH)/
13 setenv.sh: config target-dirs
14 echo '#!/bin/bash' > $@
15 echo 'export LUA_PATH="$(LUA_PATH)"' >> $@
16 echo 'export LUA_CPATH="$(LUA_CPATH)"' >> $@
17 echo 'export LUA_MPATH="$(LUA_MPATH)"' >> $@
18 echo 'export PATH=$(TARGET_BIN_PATH):$$PATH' >> $@
22 copy-libraries: lib/ target-dirs
25 mkdir -p $(TARGET_LUA_PATH)
26 cp -Rp lib/* $(TARGET_LUA_PATH)/
28 compile-libraries: copy-libraries bin-libraries setenv.sh compiler
29 @echo "Compiling libraries:"
30 for src in $$(find $(TARGET_LUA_PATH) -name '*.mlua') ; do \
31 bc="$$(dirname $$src)/$$(basename $$src .mlua).luac"; \
32 if [ -f $$bc ] && [ $$bc -nt $$src ]; then \
33 echo "| up2date: $$bc"; \
35 echo "| COMPILING $$bc" ; \
36 $(TARGET_BIN_PATH)/metalua $$src -o $$bc ; \
40 compiler: copy-libraries bin-libraries
41 LUA_PATH="$(LUA_PATH)" LUA_CPATH="$(LUA_CPATH)" LUA_MPATH="$(LUA_MPATH)" $(MAKE) -C $@ $(PLATFORM)
44 $(MAKE) -C binlibs $(PLATFORM) install
47 $(MAKE) -C $@ $(PLATFORM)
52 $(MAKE) -C compiler clean
53 $(MAKE) -C binlibs clean
55 target-dirs: $(TARGET_BIN_PATH) $(TARGET_LUA_PATH) $(TARGET_LUA_CPATH)
57 $(TARGET_BIN_PATH) $(TARGET_LUA_PATH) $(TARGET_LUA_CPATH):
60 .PHONY: all libraries lua bin-libraries copy-libraries compile-libraries compiler