sdk/Build System: Added support for cross-compiling the tarball
[sdk] / compiler / Makefile
1 .PHONY: all bootstrap clean realclean distclean libec ecp ecc ecs
2 .SILENT:
3
4 CONFIG := release
5 PRECOMPILED_SOURCES = libec/precompiled/expression.c libec/precompiled/grammar.c libec/precompiled/type.c
6
7 include ../crossplatform.mk
8 include ../include.mk
9
10 all: ecp ecc ecs
11
12 OBJ = libec/obj/$(CONFIG).$(TARGET_PLATFORM)/
13
14 libec:
15         @$(call echo,Building 2nd stage libec...)
16 ifeq "$(wildcard libec/precompiled)" "libec/precompiled"
17 ifneq "$(wildcard $(OBJ))" "$(OBJ)"
18         $(call mkdirq,$(OBJ))
19 endif
20         $(call cpq,$(PRECOMPILED_SOURCES),$(OBJ))
21 endif
22         cd libec && $(MAKE)
23
24 ecp: libec
25         @$(call echo,Building 2nd stage ecp...)
26         cd ecp && $(MAKE)
27
28 ecc: libec
29         @$(call echo,Building 2nd stage ecc...)
30         cd ecc && $(MAKE)
31
32 ecs: libec
33         @$(call echo,Building 2nd stage ecs...)
34         cd ecs && $(MAKE)
35
36 bootstrap:
37         @$(call echo,Bootstrapping eC compiling tools...)
38         cd bootstrap && $(MAKE)
39
40 clean:
41         cd bootstrap && $(MAKE) clean
42         cd libec && $(MAKE) clean
43         cd ecp && $(MAKE) clean
44         cd ecc && $(MAKE) clean
45         cd ecs && $(MAKE) clean
46
47 realclean:
48         cd bootstrap && $(MAKE) realclean
49         cd libec && $(MAKE) realclean
50         cd ecp && $(MAKE) realclean
51         cd ecc && $(MAKE) realclean
52         cd ecs && $(MAKE) realclean
53
54 distclean:
55         cd bootstrap && $(MAKE) distclean
56         cd libec && $(MAKE) distclean
57         cd ecp && $(MAKE) distclean
58         cd ecc && $(MAKE) distclean
59         cd ecs && $(MAKE) distclean