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