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 lklist.c \
18 lknoice.c lkstore.c lksym.c
20 SRC = lkmain.c lkarea.c lkihx.c \
21 lklibr.c lkrloc.c lks19.c \
24 LKSOURCES = $(SRC) $(LKLIBSRC:%.c=$(LKLIB)/%.c) $(ASXXLIBSRC:%.c=$(ASXXLIB)/%.c)
26 OBJS = $(SRC:%.c=$(OBJDIR)/%.o)
27 LKOBJS = $(LKLIBSRC:%.c=$(OBJDIR)/%.o)
28 ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o)
29 LKOBJECTS = $(OBJS) $(LKOBJS) $(ASXXLIBOBJS)
31 BINS = $(BUILDDIR)link$(EXT)$(EXEEXT)
33 CPPFLAGS += -I.. -I$(srcdir)/..
34 CFLAGS += $(CPPFLAGS) $(OPTS) -DINDEXLIB -DMLH_MAP -DSDK
35 CFLAGS += -funsigned-char -DUNIX
36 CFLAGS += -I$(top_builddir)/as/$(PORT)
38 LDFLAGS = @LDFLAGS@ -lm $(EXTRALIBS)
43 $(CC) -g -o $(BINS) $(LKOBJECTS) $(LDFLAGS)
45 # We need a '.stamp'-file in $(OBJDIR), because the time stamp
46 # of $(OBJDIR) itself is always updated, when a file in $(OBJDIR)
47 # is updated. A rule like
48 # $(OBJDIR)/anyfile: $(OBJDIR)
49 # will always force a remake (at least on Linux ext2).
53 touch $(OBJDIR)/.stamp
55 $(OBJDIR)/%.o: %.c $(OBJDIR)/.stamp
56 $(CC) -c $(CFLAGS) -o $@ $<
58 $(OBJDIR)/%.o: $(LKLIB)/%.c $(OBJDIR)/.stamp
59 $(CC) -c $(CFLAGS) -o $@ $<
61 $(OBJDIR)/%.o: $(ASXXLIB)/%.c $(OBJDIR)/.stamp
62 $(CC) -c $(CFLAGS) -o $@ $<
65 $(MAKE) EXT=-z80$(E) PORT=z80
68 $(MAKE) EXT=-gbz80$(E) OPTS=-DGAMEBOY PORT=z80
70 include $(srcdir)/clean.mk