X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=Makefile;h=6d3cd33e0bdbfc28121bc12fc0fc92a3b29b44f7;hb=46b4aa4d39aa386afe5ee47ce00be464d999278e;hp=06df59a909f10143208dfaa7de3d384951918fa1;hpb=2d68a8dff5ebde9772c9f8467064324d8d408e8d;p=fw%2Fsdcc diff --git a/Makefile b/Makefile index 06df59a9..6d3cd33e 100644 --- a/Makefile +++ b/Makefile @@ -2,22 +2,41 @@ # # -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/cpp +SDCC_LIBS = support/cpp2 support/makebin +SDCC_DOC = doc + +# Parts that are not normally compiled but need to be cleaned +SDCC_EXTRA = support/regression + SDCC_ASLINK = as/mcs51 as link SDCC_PACKIHX = packihx -PKGS = src $(SDCC_ASLINK) $(SDCC_PACKIHX) $(SDCC_MISC) \ - $(SDCC_LIBS) device/include device/lib +TARGETS = sdcc-libs sdcc-cc sdcc-aslink sdcc-doc + +PKGS = $(SDCC_LIBS) src $(SDCC_ASLINK) $(SDCC_DOC) + +ifneq ($(OPT_ENABLE_UCSIM), no) +TARGETS += sdcc-misc +PKGS += $(SDCC_MISC) +endif + +ifneq ($(OPT_ENABLE_DEVICE_LIB_BUILD), no) +TARGETS += sdcc-device +PKGS += device/include device/lib +endif + +ifneq ($(OPT_ENABLE_PACKIHX), no) +TARGETS += sdcc-packihx +PKGS += $(SDCC_PACKIHX) +endif + PKGS_TINI = $(SDCC_LIBS) $(SDCC_ASLINK) \ src device/include $(SDCC_PACKIHX) PORTS = $(shell cat ports.build) @@ -44,7 +63,7 @@ sdcc-misc: sdcc-packihx: $(MAKE) -C $(SDCC_PACKIHX) -sdcc-device: +sdcc-device: sdcc-cc sdcc-aslink $(MAKE) -C device/include $(MAKE) -C device/lib @@ -52,8 +71,10 @@ 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 +# 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 $(MAKE) -f main.mk all @@ -96,10 +117,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)" -C $$pkg -f clean.mk clean ;\ done - # Deleting all files created by configuring or building the program # ----------------------------------------------------------------- distclean: @@ -107,9 +127,11 @@ 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)" -f clean.mk distclean ;\ + done + for pkg in $(SDCC_EXTRA); do \ + $(MAKE) -C $$pkg clean; \ done - # Like clean but some files may still exist # -----------------------------------------