3 top_builddir = @top_builddir@
4 top_srcdir = @top_srcdir@
6 include $(top_builddir)/Makefile.common
10 ASXXLIB = $(srcdir)/../../asxxsrc
12 ASXXLIBSRC = strcmpi.c
16 LKLIBSRC = lkaomf51.c lkdata.c lkeval.c \
17 lkhead.c lklex.c lklibr.c lklist.c \
18 lknoice.c lkstore.c lksym.c
20 SRC = lkmain.c lkarea.c lkihx.c \
21 lkrloc.c lks19.c lkgb.c lkgg.c
23 LKSOURCES = $(SRC) $(LKLIBSRC:%.c=$(LKLIB)/%.c) $(ASXXLIBSRC:%.c=$(ASXXLIB)/%.c)
25 OBJS = $(SRC:%.c=$(OBJDIR)/%.o)
26 LKOBJS = $(LKLIBSRC:%.c=$(OBJDIR)/%.o)
27 ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o)
28 LKOBJECTS = $(OBJS) $(LKOBJS) $(ASXXLIBOBJS)
30 BINS = $(BUILDDIR)link$(EXT)$(EXEEXT)
32 CPPFLAGS += -I.. -I$(srcdir)/..
33 CFLAGS += $(CPPFLAGS) $(OPTS) -DINDEXLIB -DMLH_MAP -DSDK
34 CFLAGS += -funsigned-char -DUNIX
35 CFLAGS += -I$(top_builddir)/as/$(PORT)
37 LDFLAGS = @LDFLAGS@ -lm $(EXTRALIBS)
42 $(CC) -g -o $(BINS) $(LKOBJECTS) $(LDFLAGS)
44 # We need a '.stamp'-file in $(OBJDIR), because the time stamp
45 # of $(OBJDIR) itself is always updated, when a file in $(OBJDIR)
46 # is updated. A rule like
47 # $(OBJDIR)/anyfile: $(OBJDIR)
48 # will always force a remake (at least on Linux ext2).
52 touch $(OBJDIR)/.stamp
54 $(OBJDIR)/%.o: %.c $(OBJDIR)/.stamp
55 $(CC) -c $(CFLAGS) -o $@ $<
57 $(OBJDIR)/%.o: $(LKLIB)/%.c $(OBJDIR)/.stamp
58 $(CC) -c $(CFLAGS) -o $@ $<
60 $(OBJDIR)/%.o: $(ASXXLIB)/%.c $(OBJDIR)/.stamp
61 $(CC) -c $(CFLAGS) -o $@ $<
64 $(MAKE) EXT=-z80$(E) PORT=z80
67 $(MAKE) EXT=-gbz80$(E) OPTS=-DGAMEBOY PORT=z80
69 include $(srcdir)/clean.mk