version 0.5.2
[fw/sdcc] / sim / ucsim / Makefile
index 9758b22e027d738201359738bfc18dfcd0ef0252..b5c0278adc02a7b7c5cd6434fc399acd1a0ef262 100644 (file)
@@ -9,19 +9,20 @@ STARTYEAR     = 1997
 SHELL          = /bin/sh
 
 PRJDIR         = .
-PKGS           = cmd.src sim.src s51.src avr.src z80.src doc
-#gui.src
+include packages.mk
+#PKGS          = cmd.src sim.src gui.src s51.src avr.src z80.src doc
 
 srcdir          = .
 
 
 # Compiling entire program or any subproject
 # ------------------------------------------
-all: main.mk
+all: checkconf
        $(MAKE) -f main.mk all
        @for pkg in $(PKGS); do\
          cd $$pkg && $(MAKE) $$pkg ; cd ..;\
        done
+       $(MAKE) -f main.mk main_app
 
 libs: main.mk
        $(MAKE) -f main.mk libs
@@ -29,6 +30,7 @@ libs: main.mk
 
 # Compiling and installing everything and runing test
 # ---------------------------------------------------
+.PHONY: install INSTALL Install
 install:
        $(MAKE) -f main.mk install
        @for pkg in $(PKGS); do\
@@ -48,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
 
 
@@ -87,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
@@ -150,22 +162,40 @@ lines:
 # Remaking configuration
 # ----------------------
 configure: configure.in
-       $(SHELL) autoconf
+       @$(PRJDIR)/mkecho $(PRJDIR) "RE-CREATING CONFIGURE"
+       autoconf configure.in >configure
+       chmod 755 configure
+
+config.status: configure
+       @$(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
 
-main.mk: $(srcdir)/main_in.mk $(srcdir)/configure.in config.status
+makefiles: config.status
+       @$(PRJDIR)/mkecho $(PRJDIR) "RE-MAKING MAKEFILES"
        $(SHELL) ./config.status
 
-config.status: configure
-       $(SHELL) ./config.status --recheck
+main.mk: $(srcdir)/main_in.mk config.status
+       @$(PRJDIR)/mkecho $(PRJDIR) "RE-MAKING MAIN.MK"
+       $(SHELL) ./config.status
 
-makefiles:
+freshconf: echo_freshconf configure main.mk ddconfig.h
+
+ddconfig.h: ddconfig_in.h config.status
        $(SHELL) ./config.status
 
-freshconf: main.mk
+echo_freshconf:
+       @$(PRJDIR)/mkecho $(PRJDIR) "FRESHCONF"
 
 checkconf:
-       @if [ -f devel ]; then\
-         $(MAKE) freshconf;\
-       fi
+       @$(PRJDIR)/mkecho $(PRJDIR) "CHECKCONF"
+       @if [ -f devel ]; then $(MAKE) freshconf; fi
 
 # End of Makefile