Enabled VPATH feature: changed nearly all Makefiles (149 files).
[fw/sdcc] / device / lib / clean.mk
index 6b4e3c15a3e039dd183dabd5acf1b629e58562dc..2f0867b0417e6fce9ff5cee1771a170d52b75419 100644 (file)
@@ -1,4 +1,5 @@
-include incl.mk
+CLEANALLPORTS = ds390 ds400 gbz80 hc08 large mcs51 medium pic pic16 small z80
+include $(srcdir)/incl.mk
 
 # Deleting all files created by building the program
 # --------------------------------------------------
@@ -6,17 +7,28 @@ clean:
        rm -f *core *[%~] *.[oa] *.rel *.lst *.sym *.asm *.ihx *.dump* *.cdb
        rm -f .[a-z]*~
        rm -f *.dump*
+       rm -rf build
        for model in $(MODELS); do \
-         rm -rf $$model; \
+         if [ -d $$model ]; then \
+           cd $$model && for name in *; do if [ -f $$name -a $$name != Makefile -a $$name != Makefile.in ]; then rm $$name; fi; done; \
+         fi; \
+       done
+       for port in $(CLEANALLPORTS) ; do\
+         if [ -f $$port/Makefile ]; then\
+           $(MAKE) -C $$port clean ;\
+         fi\
        done
-       cd ds390; make clean
 
 
 # Deleting all files created by configuring or building the program
 # -----------------------------------------------------------------
 distclean: clean
        rm -f Makefile *.dep
-       rm -f ds390/*.dep
+       for port in $(CLEANALLPORTS) ; do\
+         if [ -f $$port/Makefile ]; then\
+           $(MAKE) -C $$port distclean ;\
+         fi\
+       done
 
 # Like clean but some files may still exist
 # -----------------------------------------