X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=Makefile;h=c09177295048fbe37256179e1b7783aaf3736634;hb=b9855fd6b84616c3963897a10fa20ea93531e5ce;hp=003dd0c6a561f67c57b154f383449c9dc4e443ff;hpb=a5737cbaaee21f941966731406a631c27aa8fbf9;p=fw%2Fsdcc diff --git a/Makefile b/Makefile index 003dd0c6..c0917729 100644 --- a/Makefile +++ b/Makefile @@ -2,25 +2,26 @@ # # -CFLAGS+=-g - SHELL = /bin/sh -AUTOCONF = autoconf PRJDIR = . -srcdir = . -include $(srcdir)/Makefile.common + +include $(PRJDIR)/Makefile.common SDCC_MISC = debugger/mcs51 sim/ucsim +SDCC_LIBS = support/cpp2 support/makebin +SDCC_DOC = doc -SDCC_LIBS = support/cpp support/cpp2 +# Parts that are not normally compiled but need to be cleaned +SDCC_EXTRA = support/regression -SDCC_ASLINK = as/mcs51 as link +SDCC_ASLINK = as/mcs51 as link as/hc08 SDCC_PACKIHX = packihx +SDCC_LIBRARIAN = support/librarian -TARGETS = sdcc-libs sdcc-cc sdcc-aslink +TARGETS = sdcc-libs sdcc-cc sdcc-aslink sdcc-doc -PKGS = $(SDCC_LIBS) src $(SDCC_ASLINK) +PKGS = $(SDCC_LIBS) src $(SDCC_ASLINK) $(SDCC_DOC) ifneq ($(OPT_ENABLE_UCSIM), no) TARGETS += sdcc-misc @@ -37,8 +38,11 @@ TARGETS += sdcc-packihx PKGS += $(SDCC_PACKIHX) endif +TARGETS += sdcc-librarian +PKGS += $(SDCC_LIBRARIAN) + PKGS_TINI = $(SDCC_LIBS) $(SDCC_ASLINK) \ - src device/include $(SDCC_PACKIHX) + src device/include $(SDCC_PACKIHX) $(SDCC_LIBRARIAN) PORTS = $(shell cat ports.build) ALLPORTS = $(shell cat ports.all) @@ -63,7 +67,10 @@ sdcc-misc: sdcc-packihx: $(MAKE) -C $(SDCC_PACKIHX) -sdcc-device: +sdcc-librarian: + $(MAKE) -C $(SDCC_LIBRARIAN) + +sdcc-device: sdcc-cc sdcc-aslink $(MAKE) -C device/include $(MAKE) -C device/lib @@ -71,9 +78,12 @@ sdcc-device-tini: $(MAKE) -C device/include $(MAKE) -C device/lib modelDS390 +# Empty for now, as doc depends on latex and latex2html +sdcc-doc: + sdcc: $(TARGETS) -sdcc-tini: sdcc-cc sdcc-aslink sdcc-device-tini sdcc-packihx +sdcc-tini: sdcc-cc sdcc-aslink sdcc-device-tini sdcc-packihx sdcc-librarian $(MAKE) -f main.mk all # Some interesting sub rules @@ -114,10 +124,9 @@ clean: $(MAKE) -f clean.mk clean @echo "+ Cleaning packages in their directories..." for pkg in $(PKGS); do\ - $(MAKE) PORTS="$(PORTS)" -C $$pkg clean ;\ + $(MAKE) PORTS="$(PORTS)" EXEEXT=$(EXEEXT) -C $$pkg -f clean.mk clean ;\ done - # Deleting all files created by configuring or building the program # ----------------------------------------------------------------- distclean: @@ -125,16 +134,18 @@ distclean: $(MAKE) -f clean.mk distclean @echo "+ DistCleaning packages using clean.mk..." for pkg in $(PKGS); do\ - $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" distclean ;\ + $(MAKE) -C $$pkg PORTS="$(PORTS)" EXEEXT=$(EXEEXT) -f clean.mk distclean ;\ + done + for pkg in $(SDCC_EXTRA); do \ + $(MAKE) -C $$pkg clean; \ done - # Like clean but some files may still exist # ----------------------------------------- mostlyclean: clean $(MAKE) -f clean.mk mostlyclean for pkg in $(PKGS); do\ - $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" mostlyclean ;\ + $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" EXEEXT=$(EXEEXT) mostlyclean ;\ done @@ -144,7 +155,7 @@ mostlyclean: clean realclean: distclean $(MAKE) -f clean.mk realclean for pkg in $(PKGS); do\ - $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" realclean ;\ + $(MAKE) -C $$pkg -f clean.mk PORTS="$(PORTS)" EXEEXT=$(EXEEXT) realclean ;\ done