]> git.lizzy.rs Git - metalua.git/blob - src/Makefile
improved match/types, started typecheck, misc.
[metalua.git] / src / Makefile
1 include config
2
3 ifeq ($(PLATFORM), none)
4 all:
5         @echo "You haven't edited 'config' yet. Set your settings there, then run 'make' again"
6 else
7 all: setenv.sh lua libraries install-lua bin-libraries compiler compile-libraries
8 endif
9
10 install-lua: lua target-dirs
11         cp $(LUA_VM_DIR)/$(RUN) $(LUA_VM_DIR)/$(COMPILE) $(TARGET_BIN_PATH)/
12
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' >> $@
19         chmod a+x $@
20
21
22 copy-libraries: lib/ target-dirs
23
24 copy-libraries: lib/
25         mkdir -p $(TARGET_LUA_PATH)
26         cp -Rp lib/* $(TARGET_LUA_PATH)/
27
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"; \
34                 else \
35                         echo "| COMPILING $$bc" ; \
36                         $(TARGET_BIN_PATH)/metalua $$src -o $$bc ; \
37                 fi \
38         done
39
40 compiler: copy-libraries bin-libraries
41         LUA_PATH="$(LUA_PATH)" LUA_CPATH="$(LUA_CPATH)" LUA_MPATH="$(LUA_MPATH)" $(MAKE) -C $@ $(PLATFORM)
42
43 bin-libraries:
44         $(MAKE) -C binlibs      $(PLATFORM) install
45
46 lua: $@
47         $(MAKE) -C $@ $(PLATFORM) 
48
49
50 clean:
51         $(MAKE) -C lua      clean
52         $(MAKE) -C compiler clean
53         $(MAKE) -C binlibs  clean
54
55 target-dirs: $(TARGET_BIN_PATH) $(TARGET_LUA_PATH) $(TARGET_LUA_CPATH)
56
57 $(TARGET_BIN_PATH) $(TARGET_LUA_PATH) $(TARGET_LUA_CPATH):
58         mkdir -p $@
59
60 .PHONY: all libraries lua bin-libraries copy-libraries compile-libraries compiler