Fixed up the z80 and gbz80 Makefiles to split out the objs - no more clean
authormichaelh <michaelh@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 22 Jul 2000 16:46:04 +0000 (16:46 +0000)
committermichaelh <michaelh@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 22 Jul 2000 16:46:04 +0000 (16:46 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@309 4a8a32a2-be11-0410-ad9d-d568d2c75423

as/Makefile
as/z80/Makefile
link/Makefile
link/z80/Makefile

index 432ca1334546f1aca05204024e5d6e0fefa7967c..111524f2326c02e0bff53d68c9b64acbc9691ddb 100644 (file)
@@ -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
index dafa16079d3652125841aa2f8f463dbd558032c9..b0056d28ed22e3bc02d61982d22f52042242453e 100644 (file)
@@ -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
index 1e2b1fb4a5165be2f433fe616fc01a323bd71646..c4f6247c64c026cdbc445c148994e7c4e90767a5 100644 (file)
@@ -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
index 82ce4adc3464e31e4003a432004976b8cc4cb683..6f9cf4672804d3b582babe813977de539d5a086d 100644 (file)
@@ -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)