AUTOCONF = autoconf
PRJDIR = .
-PKGS = debugger/mcs51 sim/ucsim
+SDCC_MISC = debugger/mcs51 sim/ucsim
SDCC_LIBS = support/cpp
SDCC_ASLINK = as/mcs51 as link
+SDCC_PACKIHX = packihx
-PRJS = sim/ucsim
+PKGS = $(SDCC_MISC) $(SDCC_LIBS) $(SDCC_ASLINK) \
+ src device/include device/lib $(SDCC_PACKIHX)
+PKGS_TINI = $(SDCC_LIBS) $(SDCC_ASLINK) \
+ src device/include $(SDCC_PACKIHX)
PORTS = mcs51 z80
srcdir = .
# ------------------------------------------
all: checkconf sdcc
+tini: checkconf sdcc-tini
+
sdcc-libs:
ifeq ($(CROSS_LIBGC),1)
$(MAKE) -C support/gc -f Makefile.cross
for as in $(SDCC_ASLINK); do $(MAKE) -C $$as; done
sdcc-misc:
- for pkg in $(PKGS); do $(MAKE) -C $$pkg; done
- $(MAKE) -C sim/ucsim
+ for misc in $(SDCC_MISC); do $(MAKE) -C $$misc; done
+
+sdcc-packihx:
+ $(MAKE) -C $(SDCC_PACKIHX)
sdcc-device:
$(MAKE) -C device/include
$(MAKE) -C device/lib
-sdcc: sdcc-cc sdcc-aslink sdcc-misc sdcc
+sdcc-device-tini:
+ $(MAKE) -C device/include
+ $(MAKE) -C device/lib modelDS390
+
+sdcc: sdcc-cc sdcc-aslink sdcc-misc sdcc-device sdcc-packihx
+ $(MAKE) -f main.mk all
+
+sdcc-tini: sdcc-cc sdcc-aslink sdcc-device-tini sdcc-packihx
$(MAKE) -f main.mk all
# Some interesting sub rules
sdcc-bin: sdcc-cc sdcc-aslink sdcc-misc
+sdcc-base: sdcc-cc sdcc-aslink
+
# Compiling and installing everything and runing test
# ---------------------------------------------------
install:
$(MAKE) -C $$pkg install ;\
done
+install-tini:
+ $(MAKE) -f main.mk install
+ @for pkg in $(PKGS_TINI); do\
+ $(MAKE) -C $$pkg install ;\
+ done
+ $(MAKE) -C device/lib installDS390
+
+
# Deleting all the installed files
# --------------------------------
for pkg in $(PKGS); do\
$(MAKE) PORTS="$(PORTS)" -C $$pkg clean ;\
done
- @echo "+ Cleaning sub-projects using Makefile..."
- for prj in $(PRJS); do\
- $(MAKE) -C $$prj clean ;\
- done
# Deleting all files created by configuring or building the program
for pkg in $(PKGS); do\
$(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" distclean ;\
done
- @echo "+ DistCleaning sub-projects using Makefile..."
- for prj in $(PRJS); do\
- $(MAKE) -C $$prj distclean ;\
- done
# Like clean but some files may still exist
for pkg in $(PKGS); do\
$(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" mostlyclean ;\
done
- for prj in $(PRJS); do\
- $(MAKE) -C $$prj mostlyclean ;\
- done
# Deleting everything that can reconstructed by this Makefile. It deletes
for pkg in $(PKGS); do\
$(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" realclean ;\
done
- for prj in $(PRJS); do\
- $(MAKE) -C $$prj realclean ;\
- done
# Creating distribution