From: michaelh Date: Sat, 22 Jul 2000 16:46:04 +0000 (+0000) Subject: Fixed up the z80 and gbz80 Makefiles to split out the objs - no more clean X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=c30de480b8005935e247b2d22adfd00a37e50df9;p=fw%2Fsdcc Fixed up the z80 and gbz80 Makefiles to split out the objs - no more clean git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@309 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/as/Makefile b/as/Makefile index 432ca133..111524f2 100644 --- a/as/Makefile +++ b/as/Makefile @@ -4,14 +4,7 @@ include $(PRJDIR)/Makefile.common PORTS = z80 gbz80 all: - for i in $(PORTS); do make _as THIS=$$i; done - -_as: -ifeq ($(THIS), gbz80) - make -C z80 BUILDDIR=../../bin EXT=-$(THIS)$(E) OPTS=-DGAMEBOY wary -else - make -C z80 BUILDDIR=../../bin EXT=-$(THIS)$(E) wary -endif + make -C z80 _as-z80 _as-gbz80 E=$(E) BUILDDIR=../../bin/ clean: make -C z80 clean diff --git a/as/z80/Makefile b/as/z80/Makefile index dafa1607..b0056d28 100644 --- a/as/z80/Makefile +++ b/as/z80/Makefile @@ -2,17 +2,18 @@ PRJDIR = ../.. include $(PRJDIR)/Makefile.common +OBJDIR = obj/$(EXT) SDC = . SRC = asdata.c asexpr.c aslex.c aslist.c asmain.c asout.c \ assubr.c assym.c z80adr.c z80ext.c z80mch.c z80pst.c -OBJS = $(SRC:%.c=%.o) -BINS = $(BUILDDIR)/as$(EXT) +OBJS = $(SRC:%.c=$(OBJDIR)/%.o) +BINS = $(BUILDDIR)as$(EXT) CFLAGS += $(OPTS) -I. -DINDEXLIB -DMLH_MAP -DUNIX -DSDK CFLAGS += -funsigned-char LDFLAGS += -lm -all: dep $(BINS) +all: $(OBJDIR) dep $(BINS) dep: Makefile.dep @@ -21,18 +22,21 @@ Makefile.dep: $(SRC) *.h include Makefile.dep +$(OBJDIR): + mkdir -p $(OBJDIR) + $(BINS): $(OBJS) $(CC) $(LDFLAGS) -o $(BINS) $(OBJS) -# Hmm. Should only rebuild if any of the source files are changed, -# but must do a clean build to make sure that there isnt a mix of -# z80 and gb stuff. -wary: $(OBJS) - make clean - make $(BINS) -%.o: %.c +$(OBJDIR)/%.o: %.c $(CC) -c $(CFLAGS) -o $@ $< clean: - rm -f $(OBJS) $(BINS) + rm -rf $(OBJS) $(BINS) $(OBJDIR) + +_as-z80: + $(MAKE) EXT=-z80$(E) + +_as-gbz80: + $(MAKE) EXT=-gbz80$(E) OPTS=-DGAMEBOY diff --git a/link/Makefile b/link/Makefile index 1e2b1fb4..c4f6247c 100644 --- a/link/Makefile +++ b/link/Makefile @@ -5,14 +5,7 @@ include $(PRJDIR)/Makefile.common PORTS = z80 gbz80 all: - for i in $(PORTS); do make _link THIS=$$i; done - -_link: clean -ifeq ($(THIS), gbz80) - make -C z80 BUILDDIR=../../bin EXT=-$(THIS) OPTS=-DGAMEBOY -else - make -C z80 BUILDDIR=../../bin EXT=-$(THIS) -endif + make -C z80 _link-z80 _link-gbz80 E=$(E) BUILDDIR=../../bin/ clean: make -C z80 clean diff --git a/link/z80/Makefile b/link/z80/Makefile index 82ce4adc..6f9cf467 100644 --- a/link/z80/Makefile +++ b/link/z80/Makefile @@ -2,21 +2,32 @@ PRJDIR = ../.. include $(PRJDIR)/Makefile.common -OBJS = lkarea.o lkdata.o lkeval.o lkhead.o lkihx.o lklex.o \ - lklibr.o lklist.o lkmain.o lkrloc.o lks19.o lksym.o \ - lkgb.o lkgg.o -BINS = $(BUILDDIR)/link$(EXT) +OBJDIR = obj/$(EXT) +SRC = lkarea.c lkdata.c lkeval.c lkhead.c lkihx.c lklex.c \ + lklibr.c lklist.c lkmain.c lkrloc.c lks19.c lksym.c \ + lkgb.c lkgg.c +OBJS = $(SRC:%.c=$(OBJDIR)/%.o) +BINS = $(BUILDDIR)link$(EXT) CFLAGS += $(OPTS) -DINDEXLIB -DMLH_MAP -DUNIX -DSDK CFLAGS += -funsigned-char -DUNIX all: $(BINS) -$(BINS): $(OBJS) +$(BINS): $(OBJDIR) $(OBJS) $(CC) $(LDFLAGS) -o $(BINS) $(OBJS) -%.o: %.c +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c $(CC) -c $(CFLAGS) -I$(PRJDIR)/as/$(PORT) -o $@ $< clean: - rm -f $(OBJS) $(BINS) + rm -rf $(OBJS) $(BINS) $(OBJDIR) + +_link-z80: + $(MAKE) EXT=-z80$(E) + +_link-gbz80: + $(MAKE) EXT=-gbz80$(E)