VPATH = @srcdir@ srcdir = @srcdir@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ include $(top_builddir)/Makefile.common OBJDIR = obj$(EXT) ASXXLIB = $(srcdir)/../../asxxsrc ASXXLIBSRC = strcmpi.c LKLIB = $(srcdir)/.. LKLIBSRC = getline.c lkaomf51.c lkdata.c lkeval.c \ lkhead.c lklex.c lklib.c lklibr.c lklist.c \ lknoice.c lkrel.c lksdcclib.c lkstore.c lksym.c SRC = lkmain.c lkarea.c lkihx.c \ lkrloc.c lks19.c lkgb.c lkgg.c LKSOURCES = $(SRC) $(LKLIBSRC:%.c=$(LKLIB)/%.c) $(ASXXLIBSRC:%.c=$(ASXXLIB)/%.c) OBJS = $(SRC:%.c=$(OBJDIR)/%.o) LKOBJS = $(LKLIBSRC:%.c=$(OBJDIR)/%.o) ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o) LKOBJECTS = $(OBJS) $(LKOBJS) $(ASXXLIBOBJS) BINS = $(BUILDDIR)link$(EXT)$(EXEEXT) CPPFLAGS += -I.. -I$(srcdir)/.. CFLAGS += $(CPPFLAGS) $(OPTS) -DINDEXLIB -DMLH_MAP -DSDK CFLAGS += -funsigned-char -DUNIX CFLAGS += -I$(top_builddir)/as/$(PORT) LDFLAGS = @LDFLAGS@ -lm $(EXTRALIBS) all: $(BINS) $(BINS): $(LKOBJECTS) $(CC) -g -o $(BINS) $(LKOBJECTS) $(LDFLAGS) # We need a '.stamp'-file in $(OBJDIR), because the time stamp # of $(OBJDIR) itself is always updated, when a file in $(OBJDIR) # is updated. A rule like # $(OBJDIR)/anyfile: $(OBJDIR) # will always force a remake (at least on Linux ext2). $(OBJDIR)/.stamp: mkdir -p $(OBJDIR) touch $(OBJDIR)/.stamp $(OBJDIR)/%.o: %.c $(OBJDIR)/.stamp $(CC) -c $(CFLAGS) -o $@ $< $(OBJDIR)/%.o: $(LKLIB)/%.c $(OBJDIR)/.stamp $(CC) -c $(CFLAGS) -o $@ $< $(OBJDIR)/%.o: $(ASXXLIB)/%.c $(OBJDIR)/.stamp $(CC) -c $(CFLAGS) -o $@ $< _link-z80: $(MAKE) EXT=-z80$(E) PORT=z80 _link-gbz80: $(MAKE) EXT=-gbz80$(E) OPTS=-DGAMEBOY PORT=z80 include $(srcdir)/clean.mk