Enabled VPATH feature: changed nearly all Makefiles (149 files).
[fw/sdcc] / device / lib / clean.mk
index 07d1c96d51e824ad700f982afcd6eadf184ebe4a..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
 # --------------------------------------------------
@@ -8,17 +9,26 @@ clean:
        rm -f *.dump*
        rm -rf build
        for model in $(MODELS); do \
-         find $$model -maxdepth 1 -type f ! -name Makefile -exec rm {} \; ; \
+         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
-       make -C ds390 clean
-       make -C z80 clean
-       make -C gbz80 clean
+       for port in $(CLEANALLPORTS) ; do\
+         if [ -f $$port/Makefile ]; then\
+           $(MAKE) -C $$port clean ;\
+         fi\
+       done
+
 
 # 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
 # -----------------------------------------