193 lines
4.1 KiB
Makefile
193 lines
4.1 KiB
Makefile
#
|
|
# uCsim Makefile
|
|
#
|
|
# (c) Drotos Daniel, Talker Bt. 1997,99
|
|
#
|
|
|
|
STARTYEAR = 1997
|
|
|
|
SHELL = /bin/sh
|
|
|
|
include packages.mk
|
|
#PKGS = cmd.src sim.src gui.src s51.src avr.src z80.src pdk.src doc
|
|
|
|
VPATH = @srcdir@
|
|
srcdir = @srcdir@
|
|
|
|
top_builddir = @top_builddir@
|
|
top_srcdir = @top_srcdir@
|
|
|
|
# Compiling entire program or any subproject
|
|
# ------------------------------------------
|
|
all: checkconf #libs apps
|
|
$(MAKE) libs
|
|
$(MAKE) apps
|
|
|
|
libs: main_all cmd_src_all sim_src_all gui_src_all
|
|
|
|
main_all:
|
|
$(MAKE) -f main.mk all
|
|
|
|
cmd_src_all:
|
|
$(MAKE) -C cmd.src cmd.src
|
|
|
|
sim_src_all:
|
|
$(MAKE) -C sim.src sim.src
|
|
|
|
gui_src_all:
|
|
$(MAKE) -C gui.src gui.src
|
|
|
|
|
|
apps: $(PKGS) main_app
|
|
|
|
main_app:
|
|
$(MAKE) -f main.mk main_app
|
|
|
|
|
|
.PHONY: $(PKGS)
|
|
|
|
$(PKGS):
|
|
$(MAKE) -C $@ $@
|
|
|
|
#main_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\
|
|
$(MAKE) -C $$pkg install ;\
|
|
done
|
|
|
|
|
|
# Deleting all the installed files
|
|
# --------------------------------
|
|
uninstall:
|
|
$(MAKE) -f main.mk uninstall
|
|
@for pkg in $(PKGS); do\
|
|
$(MAKE) -C $$pkg uninstall ;\
|
|
done
|
|
|
|
|
|
# Deleting all files created by building the program
|
|
# --------------------------------------------------
|
|
clean:
|
|
$(MAKE) -f $(srcdir)/clean.mk clean EXEEXT=$(EXEEXT)
|
|
@for pkg in $(PKGS_ALL); do\
|
|
$(MAKE) -C $$pkg -f ../$(srcdir)/$$pkg/clean.mk clean EXEEXT=$(EXEEXT) ;\
|
|
done
|
|
|
|
|
|
# Deleting all files created by configuring or building the program
|
|
# -----------------------------------------------------------------
|
|
distclean: clean
|
|
$(MAKE) -f $(srcdir)/clean.mk distclean
|
|
@for pkg in $(PKGS_ALL); do\
|
|
$(MAKE) -C $$pkg -f ../$(srcdir)/$$pkg/clean.mk distclean ;\
|
|
done
|
|
rm -rf doc/*~ doc/*.bak Makefile packages.mk libtool
|
|
$(MAKE) -C example clean
|
|
$(MAKE) -C s51.src/test clean
|
|
$(MAKE) -C stm8.src/test clean
|
|
$(MAKE) -C tlcs.src/test clean
|
|
$(MAKE) -C z80.src/test clean
|
|
|
|
|
|
# Like clean but some files may still exist
|
|
# -----------------------------------------
|
|
mostlyclean: clean
|
|
$(MAKE) -f clean.mk mostlyclean
|
|
@for pkg in $(PKGS_ALL); do\
|
|
$(MAKE) -C $$pkg -f ../$(srcdir)/$$pkg/clean.mk mostlyclean ;\
|
|
done
|
|
|
|
|
|
# Deleting everything that can reconstructed by this Makefile. It deletes
|
|
# everything deleted by distclean plus files created by bison, stc.
|
|
# -----------------------------------------------------------------------
|
|
realclean: distclean
|
|
$(MAKE) -f clean.mk realclean
|
|
@for pkg in $(PKGS_ALL); do\
|
|
$(MAKE) -C $$pkg -f ../$(srcdir)/$$pkg/clean.mk realclean ;\
|
|
done
|
|
|
|
|
|
# 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
|
|
# ----------------------------
|
|
installcheck:
|
|
|
|
|
|
# Creating dependencies
|
|
# ---------------------
|
|
dep:
|
|
$(MAKE) -f main.mk dep
|
|
@for pkg in $(PKGS); do\
|
|
$(MAKE) -C $$pkg dep ;\
|
|
done
|
|
|
|
|
|
# My rules
|
|
# --------
|
|
putcopyright:
|
|
'./put(c)' -s $(STARTYEAR) *.cc *.h *.y *.l
|
|
|
|
|
|
# Remaking configuration
|
|
# ----------------------
|
|
configure: configure.ac
|
|
@$(top_srcdir)/mkecho $(top_builddir) "RE-CREATING CONFIGURE"
|
|
autoconf configure.ac >configure
|
|
chmod 755 configure
|
|
|
|
config.status: configure
|
|
@$(top_srcdir)/mkecho $(top_builddir) "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
|
|
@$(top_srcdir)/mkecho $(top_builddir) "RE-MAKING MAKEFILES"
|
|
$(SHELL) ./config.status
|
|
|
|
main.mk: $(srcdir)/main_in.mk config.status
|
|
@$(top_srcdir)/mkecho $(top_builddir) "RE-MAKING MAIN.MK"
|
|
$(SHELL) ./config.status
|
|
|
|
freshconf: echo_freshconf configure main.mk ddconfig.h
|
|
|
|
ddconfig.h: ddconfig_in.h config.status
|
|
$(SHELL) ./config.status
|
|
|
|
echo_freshconf:
|
|
@$(top_srcdir)/mkecho $(top_builddir) "FRESHCONF"
|
|
|
|
checkconf:
|
|
@$(top_srcdir)/mkecho $(top_builddir) "CHECKCONF"
|
|
@if [ -f devel ]; then $(MAKE) freshconf; fi
|
|
|
|
# End of Makefile
|