9 PKGS = debugger/mcs51 sim/ucsim
10 SDCC_LIBS = support/gc support/cpp
11 SDCC_ASLINK = as/mcs51 as link
18 # Compiling entire program or any subproject
19 # ------------------------------------------
23 for lib in $(SDCC_LIBS); do $(MAKE) -C $$lib; done
29 for as in $(SDCC_ASLINK); do $(MAKE) -C $$as; done
32 for pkg in $(PKGS); do $(MAKE) -C $$pkg; done
36 $(MAKE) -C device/include
39 sdcc: sdcc-cc sdcc-aslink sdcc-misc sdcc
40 $(MAKE) -f main.mk all
42 # Some interesting sub rules
43 sdcc-bin: sdcc-cc sdcc-aslink
45 # Compiling and installing everything and runing test
46 # ---------------------------------------------------
48 $(MAKE) -f main.mk install
49 @for pkg in $(PKGS); do\
50 $(MAKE) -C $$pkg install ;\
54 # Deleting all the installed files
55 # --------------------------------
57 $(MAKE) -f main.mk uninstall
58 @for pkg in $(PKGS); do\
59 $(MAKE) -C $$pkg uninstall ;\
63 # Deleting all files created by building the program
64 # --------------------------------------------------
66 @echo "+ Cleaning root of the project..."
67 $(MAKE) -f clean.mk clean
68 @echo "+ Cleaning packages in their directories..."
69 for pkg in $(PKGS); do\
70 $(MAKE) PORTS="$(PORTS)" -C $$pkg clean ;\
72 @echo "+ Cleaning sub-projects using Makefile..."
73 for prj in $(PRJS); do\
74 $(MAKE) -C $$prj clean ;\
78 # Deleting all files created by configuring or building the program
79 # -----------------------------------------------------------------
81 @echo "+ DistCleaning root of the project..."
82 $(MAKE) -f clean.mk distclean
83 @echo "+ DistCleaning packages using clean.mk..."
84 for pkg in $(PKGS); do\
85 $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" distclean ;\
87 @echo "+ DistCleaning sub-projects using Makefile..."
88 for prj in $(PRJS); do\
89 $(MAKE) -C $$prj distclean ;\
93 # Like clean but some files may still exist
94 # -----------------------------------------
96 $(MAKE) -f clean.mk mostlyclean
97 for pkg in $(PKGS); do\
98 $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" mostlyclean ;\
100 for prj in $(PRJS); do\
101 $(MAKE) -C $$prj mostlyclean ;\
105 # Deleting everything that can reconstructed by this Makefile. It deletes
106 # everything deleted by distclean plus files created by bison, stc.
107 # -----------------------------------------------------------------------
109 $(MAKE) -f clean.mk realclean
110 for pkg in $(PKGS); do\
111 $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" realclean ;\
113 for prj in $(PRJS); do\
114 $(MAKE) -C $$prj realclean ;\
118 # Creating distribution
119 # ---------------------
121 @if [ -f devel ]; then\
122 rm -f devel; mkdist sdcc; touch devel;\
128 # Performing self-test
129 # --------------------
133 # Performing installation test
134 # ----------------------------
138 # Creating dependencies
139 # ---------------------
141 $(MAKE) -f main.mk dep
142 @for pkg in $(PKGS); do\
143 $(MAKE) -C $$pkg dep ;\
150 @if [ -f start ]; then \
152 `find . -newer start -type f -print` |\
153 gzip -9c >`date '+%m%d%H%M'`.tgz; \
155 echo "start file not found.\n"; \
160 'put(c)' -s $(STARTYEAR) *.cc *.h *.y *.l
163 # Remaking configuration
164 # ----------------------
165 configure: configure.in
168 main.mk: $(srcdir)/main_in.mk $(srcdir)/configure.in config.status
169 $(SHELL) ./config.status
173 makefiles: config.status
175 config.status: configure
176 $(SHELL) ./config.status --recheck
179 $(SHELL) ./config.status
184 @if [ -f devel ]; then\