X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=Makefile;h=06df59a909f10143208dfaa7de3d384951918fa1;hb=2d68a8dff5ebde9772c9f8467064324d8d408e8d;hp=61575aa2661541ffbfff1b1926f64f9b4237f83f;hpb=a81e7cc40a68be30706e0ec0bc95d02cdf0fbd52;p=fw%2Fsdcc diff --git a/Makefile b/Makefile index 61575aa2..06df59a9 100644 --- a/Makefile +++ b/Makefile @@ -2,23 +2,33 @@ # # +CFLAGS+=-g + SHELL = /bin/sh AUTOCONF = autoconf PRJDIR = . -PKGS = debugger/mcs51 sim/ucsim -SDCC_LIBS = support/gc support/cpp -SDCC_ASLINK = as/mcs51 as link +srcdir = . +include $(srcdir)/Makefile.common -PRJS = sim/ucsim -PORTS = mcs51 z80 +SDCC_MISC = debugger/mcs51 sim/ucsim +SDCC_LIBS = support/cpp +SDCC_ASLINK = as/mcs51 as link +SDCC_PACKIHX = packihx -srcdir = . +PKGS = src $(SDCC_ASLINK) $(SDCC_PACKIHX) $(SDCC_MISC) \ + $(SDCC_LIBS) device/include device/lib +PKGS_TINI = $(SDCC_LIBS) $(SDCC_ASLINK) \ + src device/include $(SDCC_PACKIHX) +PORTS = $(shell cat ports.build) +ALLPORTS = $(shell cat ports.all) # Compiling entire program or any subproject # ------------------------------------------ all: checkconf sdcc +tini: checkconf sdcc-tini + sdcc-libs: for lib in $(SDCC_LIBS); do $(MAKE) -C $$lib; done @@ -29,19 +39,30 @@ sdcc-aslink: 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: @@ -50,6 +71,14 @@ 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 # -------------------------------- @@ -69,10 +98,6 @@ clean: 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 @@ -84,10 +109,6 @@ distclean: 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 @@ -97,9 +118,6 @@ mostlyclean: clean 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 @@ -110,9 +128,6 @@ realclean: distclean 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