9 PKGS = support/gc support/cpp \
10 src as/mcs51 debugger/mcs51 \
11 device/include device/lib sim/ucsim
18 # Compiling entire program or any subproject
19 # ------------------------------------------
21 for pkg in $(PKGS); do $(MAKE) -C $$pkg; done
22 $(MAKE) -f main.mk all
25 # Compiling and installing everything and runing test
26 # ---------------------------------------------------
28 $(MAKE) -f main.mk install
29 @for pkg in $(PKGS); do\
30 $(MAKE) -C $$pkg install ;\
34 # Deleting all the installed files
35 # --------------------------------
37 $(MAKE) -f main.mk uninstall
38 @for pkg in $(PKGS); do\
39 $(MAKE) -C $$pkg uninstall ;\
43 # Deleting all files created by building the program
44 # --------------------------------------------------
46 @echo "+ Cleaning root of the project..."
47 $(MAKE) -f clean.mk clean
48 @echo "+ Cleaning packages in their directories..."
49 for pkg in $(PKGS); do\
50 $(MAKE) PORTS="$(PORTS)" -C $$pkg clean ;\
52 @echo "+ Cleaning sub-projects using Makefile..."
53 for prj in $(PRJS); do\
54 $(MAKE) -C $$prj clean ;\
58 # Deleting all files created by configuring or building the program
59 # -----------------------------------------------------------------
61 @echo "+ DistCleaning root of the project..."
62 $(MAKE) -f clean.mk distclean
63 @echo "+ DistCleaning packages using clean.mk..."
64 for pkg in $(PKGS); do\
65 $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" distclean ;\
67 @echo "+ DistCleaning sub-projects using Makefile..."
68 for prj in $(PRJS); do\
69 $(MAKE) -C $$prj distclean ;\
73 # Like clean but some files may still exist
74 # -----------------------------------------
76 $(MAKE) -f clean.mk mostlyclean
77 for pkg in $(PKGS); do\
78 $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" mostlyclean ;\
80 for prj in $(PRJS); do\
81 $(MAKE) -C $$prj mostlyclean ;\
85 # Deleting everything that can reconstructed by this Makefile. It deletes
86 # everything deleted by distclean plus files created by bison, stc.
87 # -----------------------------------------------------------------------
89 $(MAKE) -f clean.mk realclean
90 for pkg in $(PKGS); do\
91 $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" realclean ;\
93 for prj in $(PRJS); do\
94 $(MAKE) -C $$prj realclean ;\
98 # Creating distribution
99 # ---------------------
101 @if [ -f devel ]; then\
102 rm -f devel; mkdist sdcc; touch devel;\
108 # Performing self-test
109 # --------------------
113 # Performing installation test
114 # ----------------------------
118 # Creating dependencies
119 # ---------------------
121 $(MAKE) -f main.mk dep
122 @for pkg in $(PKGS); do\
123 $(MAKE) -C $$pkg dep ;\
130 @if [ -f start ]; then \
132 `find . -newer start -type f -print` |\
133 gzip -9c >`date '+%m%d%H%M'`.tgz; \
135 echo "start file not found.\n"; \
140 'put(c)' -s $(STARTYEAR) *.cc *.h *.y *.l
143 # Remaking configuration
144 # ----------------------
145 configure: configure.in
148 main.mk: $(srcdir)/main_in.mk $(srcdir)/configure.in config.status
149 $(SHELL) ./config.status
153 makefiles: config.status
155 config.status: configure
156 $(SHELL) ./config.status --recheck
159 $(SHELL) ./config.status
164 @if [ -f devel ]; then\