3 top_builddir = @top_builddir@
4 top_srcdir = @top_srcdir@
6 include $(top_builddir)Makefile.common
14 SRC = asdata.c asexpr.c aslex.c aslist.c asmain.c asout.c \
15 assubr.c assym.c z80adr.c z80ext.c z80mch.c z80pst.c
17 OBJS = $(SRC:%.c=$(OBJDIR)/%.o)
18 SLIBOBJS = $(SLIBSRC:%.c=$(OBJDIR)/%.o)
20 BINS = $(BUILDDIR)/as$(EXT)$(EXEEXT)
22 CFLAGS += $(CPPFLAGS) $(OPTS) -I. -DINDEXLIB -DMLH_MAP -DUNIX -DSDK
23 CFLAGS += -funsigned-char
26 LDFLAGS += -lm $(EXTRALIBS)
32 Makefile.dep: $(SRC) $(srcdir)/*.h
33 $(CPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.c,$^) > Makefile.dep
35 ifeq "$(findstring $(MAKECMDGOALS),uninstall check installcheck installdirs \
36 clean distclean mostlyclean realclean)" ""
40 # We need a '.stamp'-file in $(OBJDIR), because the time stamp
41 # of $(OBJDIR) itself is always updated, when a file in $(OBJDIR)
42 # is updated. A rule like
43 # $(OBJDIR)/anyfile: $(OBJDIR)
44 # will always force a remake (at least on Linux ext2).
48 touch $(OBJDIR)/.stamp
50 $(BINS): $(OBJS) $(SLIBOBJS)
51 $(CC) -o $(BINS) $(OBJS) $(SLIBOBJS) $(LDFLAGS)
54 $(OBJDIR)/%.o: %.c $(OBJDIR)/.stamp
55 $(CC) -c $(CFLAGS) -o $@ $<
57 $(OBJDIR)/%.o: $(SLIB)/%.c $(OBJDIR)/.stamp
58 $(CC) -c $(CFLAGS) -o $@ $<
64 $(MAKE) EXT=-gbz80$(E) OPTS=-DGAMEBOY
66 include $(srcdir)/clean.mk