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
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
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
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
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)