8ff3b929aee36214b02a8d4f3824dbbf498f8bb0
[sdk] / compiler / bootstrap / Makefile
1 .PHONY: bindir ecere libec ecp ecc ecs cleantarget clean realclean distclean
2 .SILENT:
3
4 OBJ = obj/bin.$(PLATFORM)/
5
6 include ../../crossplatform.mk
7 include ../../default.cf
8
9 all: bindir ecere libec ecp ecc ecs
10         $(call cpq,ecp/obj/bootstrap.$(PLATFORM)/ecp$(E) ecc/obj/bootstrap.$(PLATFORM)/ecc$(E) ecs/obj/bootstrap.$(PLATFORM)/ecs$(E),$(OBJ))
11         @$(call echo,All done!)
12
13 bindir:
14         $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
15
16 cleantarget: bindir
17         $(call rmq,$(OBJ)ecp$(E) $(OBJ)ecc$(E) $(OBJ)ecs$(E))
18 ifdef WINDOWS_TARGET
19         $(call rmq,$(OBJ)$(LP)ecere$(SO) $(OBJ)$(LP)ec$(SO))
20 endif
21
22 clean: cleantarget
23         cd ecere && $(MAKE) clean
24         cd libec && $(MAKE) clean
25         cd ecp && $(MAKE) clean
26         cd ecc && $(MAKE) clean
27         cd ecs && $(MAKE) clean
28
29 realclean: cleantarget
30         $(call rmrq,$(OBJ))
31         cd ecere && $(MAKE) realclean
32         cd libec && $(MAKE) realclean
33         cd ecp && $(MAKE) realclean
34         cd ecc && $(MAKE) realclean
35         cd ecs && $(MAKE) realclean
36
37 distclean: cleantarget
38         $(call rmrq,obj/)
39         cd ecere && $(MAKE) distclean
40         cd libec && $(MAKE) distclean
41         cd ecp && $(MAKE) distclean
42         cd ecc && $(MAKE) distclean
43         cd ecs && $(MAKE) distclean
44
45 ecere:
46         @$(call echo,Building ecere...)
47         cd ecere && $(MAKE)
48         
49 libec:
50         @$(call echo,Building ec...)
51         cd libec && $(MAKE)
52
53 ecp: ecere libec
54         @$(call echo,Building ecp...)
55         cd ecp && $(MAKE)
56
57 ecc: ecere libec
58         @$(call echo,Building ecc...)
59         cd ecc && $(MAKE)
60
61 ecs: ecere libec
62         @$(call echo,Building ecs...)
63         cd ecs && $(MAKE)