3 top_builddir = @top_builddir@
4 top_srcdir = @top_srcdir@
6 include $(top_builddir)/Makefile.common
10 UTILLIB = $(srcdir)/../../support/Util
11 UTILSRC = dbuf.c dbuf_string.c
12 UTILLIBOBJS = $(UTILSRC:%.c=$(OBJDIR)/%.o)
14 ASXXLIB = $(srcdir)/../asxxsrc
15 ASXXLIBSRC = strcmpi.c assym.c aslex.c asnoice.c
16 ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o)
18 SRC = asmain.c assubr.c \
19 asexpr.c asdata.c aslist.c asout.c \
20 z80ext.c z80pst.c z80mch.c z80adr.c
21 OBJS = $(SRC:%.c=$(OBJDIR)/%.o)
23 ASSOURCES = $(SRC) $(ASXXLIBSRC:%.c=$(ASXXLIB)/%.c) $(UTILSRC:%.c=$(UTILLIB)/%.c)
25 ASOBJECTS = $(OBJS) $(ASXXLIBOBJS) $(UTILLIBOBJS)
27 BINS = $(BUILDDIR)/as$(EXT)$(EXEEXT)
29 CFLAGS += $(CPPFLAGS) $(OPTS) -I. -I$(srcdir)/../../support/Util -DINDEXLIB -DMLH_MAP -DUNIX -DSDK
30 CFLAGS += -funsigned-char
32 LDFLAGS = @LDFLAGS@ -lm $(EXTRALIBS)
38 Makefile.dep: $(ASSOURCES) $(srcdir)/*.h
39 $(CPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.c,$^) > Makefile.dep
41 ifeq "$(findstring $(MAKECMDGOALS),uninstall check installcheck installdirs \
42 clean distclean mostlyclean realclean)" ""
46 # We need a '.stamp'-file in $(OBJDIR), because the time stamp
47 # of $(OBJDIR) itself is always updated, when a file in $(OBJDIR)
48 # is updated. A rule like
49 # $(OBJDIR)/anyfile: $(OBJDIR)
50 # will always force a remake (at least on Linux ext2).
54 touch $(OBJDIR)/.stamp
57 $(CC) -o $(BINS) $(ASOBJECTS) $(LDFLAGS)
59 $(OBJDIR)/%.o: %.c $(OBJDIR)/.stamp
60 $(CC) -c $(CFLAGS) -o $@ $<
62 $(OBJDIR)/%.o: $(ASXXLIB)/%.c $(OBJDIR)/.stamp
63 $(CC) -c $(CFLAGS) -o $@ $<
65 $(OBJDIR)/%.o: $(UTILLIB)/%.c $(OBJDIR)/.stamp
66 $(CC) -c $(CFLAGS) -o $@ $<
72 $(MAKE) EXT=-gbz80$(E) OPTS=-DGAMEBOY
74 include $(srcdir)/clean.mk