git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4106 4a8a32a2...
[fw/sdcc] / sim / ucsim / Makefile
index 27fd11dffefa8ff306f8e5d2f1dc4bcc7a9238e0..f5854aa279c90820dcd0ec585d4472d7e0bb2c46 100644 (file)
@@ -9,7 +9,8 @@ STARTYEAR       = 1997
 SHELL          = /bin/sh
 
 PRJDIR         = .
-PKGS           = cmd.src sim.src gui.src s51.src avr.src z80.src doc
+include packages.mk
+#PKGS          = cmd.src sim.src gui.src s51.src avr.src z80.src doc
 
 srcdir          = .
 
@@ -49,9 +50,9 @@ uninstall:
 # Deleting all files created by building the program
 # --------------------------------------------------
 clean:
-       $(MAKE) -f clean.mk clean
+       $(MAKE) -f clean.mk clean EXEEXT=$(EXEEXT)
        @for pkg in $(PKGS); do\
-         $(MAKE) -C $$pkg -f clean.mk clean ;\
+         $(MAKE) -C $$pkg -f clean.mk clean EXEEXT=$(EXEEXT) ;\
        done
 
 
@@ -88,15 +89,25 @@ realclean: distclean
 # ---------------------
 dist: distclean
        @if [ -f devel ]; then\
-         rm -f devel; mkdist ucsim; touch devel;\
+         rm -f devel; mkdist; touch devel;\
        else\
-         mkdist ucsim;\
+         mkdist;\
        fi
 
 
 # Performing self-test
 # --------------------
 check:
+       $(MAKE) -f main.mk check
+       @for pkg in $(PKGS); do\
+         $(MAKE) -C $$pkg check ;\
+       done
+
+test:
+       $(MAKE) -f main.mk test
+       @for pkg in $(PKGS); do\
+         $(MAKE) -C $$pkg test ;\
+       done
 
 
 # Performing installation test
@@ -141,7 +152,7 @@ print-newer:
 
 new_files:
        diff -rNu $$HOME/clean-source/sdcc/sim/ucsim .|\
-       grep '^diff' | grep -v CVS | awk '{print $$4}'
+       grep '^diff' | grep -v "\.svn" | awk '{print $$4}'
 
 lines:
        @find . \( -name '*.[ch]' -o -name '*.cc' -o -name '*.hh' \) \
@@ -151,29 +162,40 @@ lines:
 # Remaking configuration
 # ----------------------
 configure: configure.in
-       @echo "RE-CREATING CONFIGURE"
-       $(SHELL) autoconf configure.in >configure
+       @$(PRJDIR)/mkecho $(PRJDIR) "RE-CREATING CONFIGURE"
+       autoconf configure.in >configure
        chmod 755 configure
 
 config.status: configure
-       @echo "RE-CHECKING CONFIGURATION"
-       ./config.status -recheck
+       @$(PRJDIR)/mkecho $(PRJDIR) "RE-CHECKING CONFIGURATION (re-creating config.status from configure)"
+       @if [ -x ./config.status ]; then \
+         ./config.status -recheck;\
+       else\
+         if [ -x ./conf ]; then\
+           ./conf;\
+         else\
+           ./configure;\
+         fi\
+       fi
 
 makefiles: config.status
-       @echo "RE-MAKING MAKEFILES"
+       @$(PRJDIR)/mkecho $(PRJDIR) "RE-MAKING MAKEFILES"
        $(SHELL) ./config.status
 
-main.mk: $(srcdir)/main_in.mk $(srcdir)/configure.in
-       @echo "RE-MAKING MAIN.MK"
+main.mk: $(srcdir)/main_in.mk config.status
+       @$(PRJDIR)/mkecho $(PRJDIR) "RE-MAKING MAIN.MK"
        $(SHELL) ./config.status
 
-freshconf: echo_freshconf configure main.mk
+freshconf: echo_freshconf configure main.mk ddconfig.h
+
+ddconfig.h: ddconfig_in.h config.status
+       $(SHELL) ./config.status
 
 echo_freshconf:
-       @echo "FRESHCONF"
+       @$(PRJDIR)/mkecho $(PRJDIR) "FRESHCONF"
 
 checkconf:
-       @echo "CHECKCONF"
+       @$(PRJDIR)/mkecho $(PRJDIR) "CHECKCONF"
        @if [ -f devel ]; then $(MAKE) freshconf; fi
 
 # End of Makefile