SHELL = /bin/sh
PRJDIR = .
-PKGS = cmd.src sim.src s51.src avr.src z80.src gui.src doc
+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
# Compiling and installing everything and runing test
# ---------------------------------------------------
+.PHONY: install INSTALL Install
install:
$(MAKE) -f main.mk install
@for pkg in $(PKGS); do\
# 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
# ---------------------
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
putcopyright:
'put(c)' -s $(STARTYEAR) *.cc *.h *.y *.l
+start:
+ date '+%Y.%m.%d-%H:%M' >.start
+
newer: distclean
- @if [ -f start ]; then \
+ @if [ -f .start ]; then \
tar cvf - \
- `find . -newer start -type f -print` |\
- gzip -9c >ucsim-newer-`date '+%Y.%m.%d-%H:%M'`.tgz; \
+ `find . -newer .start -type f -print` |\
+ gzip -9c >ucsim-newer-`cat .start`_`date '+%Y.%m.%d-%H:%M'`_`hostname`.tgz; \
else \
- echo "start file not found.\n"; \
+ echo ".start file not found.\n"; \
exit 1; \
fi
print-newer:
- @if [ -f start ]; then \
- find . -newer start -type f -print ;\
+ @if [ -f .start ]; then \
+ find . -newer .start -type f -print ;\
else \
- echo "start file not found.\n" ;\
+ echo ".start file not found.\n" ;\
exit 1 ;\
fi
+new_files:
+ diff -rNu $$HOME/clean-source/sdcc/sim/ucsim .|\
+ grep '^diff' | grep -v CVS | awk '{print $$4}'
+
lines:
@find . \( -name '*.[ch]' -o -name '*.cc' -o -name '*.hh' \) \
-exec cat {} \; | clines
# 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
+
+freshconf: echo_freshconf configure main.mk ddconfig.h
-makefiles:
+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