fixed makefiles
[fw/sdcc] / as / hc08 / Makefile.in
index d5186282a878e227b3b7c9c665bbf50b61977042..e8a9f8ad305d2d3afdcfa1572eecc5b3cb83d369 100644 (file)
@@ -7,21 +7,22 @@ VERSIONHI       = @VERSIONHI@
 VERSIONLO       = @VERSIONLO@
 VERSIONP        = @VERSIONP@
 
-SHELL          = /bin/sh
-CC             = @CC@
-CPP            = @CPP@
-INSTALL                = @INSTALL@
+SHELL           = /bin/sh
+CC              = @CC@
+CPP             = @CPP@
+INSTALL         = @INSTALL@
 STRIP           = @STRIP@
 
-top_builddir   = @top_builddir@
-top_srcdir     = @top_srcdir@
+top_builddir    = @top_builddir@
+top_srcdir      = @top_srcdir@
 
-srcdir         = @srcdir@
-prefix         = @prefix@
+srcdir          = @srcdir@
+prefix          = @prefix@
 exec_prefix     = @exec_prefix@
 bindir          = @bindir@
 libdir          = @libdir@
 datadir         = @datadir@
+datarootdir     = @datarootdir@
 includedir      = @includedir@
 mandir          = @mandir@
 man1dir         = $(mandir)/man1
@@ -32,23 +33,37 @@ EXEEXT          = @EXEEXT@
 
 VPATH           = @srcdir@
 
-CPPFLAGS       = @CPPFLAGS@ -I. -I$(srcdir)
-CFLAGS         = @CFLAGS@ -Wall
-M_OR_MM                = @M_OR_MM@
-LDFLAGS                = @LDFLAGS@
+CPPFLAGS        = @CPPFLAGS@ -I. -I$(srcdir)
+CFLAGS          = @CFLAGS@ -Wall -I. -I$(srcdir) -I$(srcdir)/../../support/Util
+M_OR_MM         = @M_OR_MM@
+LDFLAGS         = @LDFLAGS@
 
-ASOBJECTS      = asmain.o aslex.o assym.o assubr.o asnoice.o \
-                 asexpr.o asdata.o aslist.o asout.o asstore.o \
-                 m08ext.o m08pst.o m08mch.o m08adr.o strcmpi.o
-ASSOURCES      = $(patsubst %.o,%.c,$(ASOBJECTS))
+OBJDIR = obj
 
-ASHC08         = $(top_builddir)bin/as-hc08$(EXEEXT)
+UTILLIB = $(srcdir)/../../support/Util
+UTILSRC = dbuf.c dbuf_string.c
+UTILLIBOBJS = $(UTILSRC:%.c=$(OBJDIR)/%.o)
+
+ASXXLIB = $(srcdir)/../asxxsrc
+ASXXLIBSRC = strcmpi.c assym.c aslex.c
+ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o)
+
+SRC = asmain.c assubr.c asnoice.c \
+      asexpr.c asdata.c aslist.c asout.c \
+      m08ext.c m08pst.c m08mch.c m08adr.c
+OBJS = $(SRC:%.c=$(OBJDIR)/%.o)
+
+ASSOURCES = $(SRC) $(ASXXLIBSRC:%.c=$(ASXXLIB)/%.c) $(UTILSRC:%.c=$(UTILLIB)/%.c)
+
+ASOBJECTS = $(OBJS) $(ASXXLIBOBJS) $(UTILLIBOBJS)
+
+ASHC08 = $(top_builddir)/bin/as-hc08$(EXEEXT)
 
 transform       = @program_transform_name@
 
 # Compiling entire program or any subproject
 # ------------------------------------------
-all: checkconf $(ASHC08) $(ASLINK)
+all: checkconf $(ASHC08)
 
 $(ASHC08): $(ASOBJECTS)
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(ASOBJECTS) 
@@ -85,25 +100,35 @@ installdirs:
 # ---------------------
 dep: Makefile.dep
 
-Makefile.dep: $(ASSOURCES) $(srcdir)/*.h $(top_builddir)*.h $(top_srcdir)/*.h
+Makefile.dep: $(ASSOURCES) $(srcdir)/*.h
        $(CPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.c,$^) >Makefile.dep
 
 ifeq "$(findstring $(MAKECMDGOALS),uninstall check installcheck installdirs \
                                    clean distclean mostlyclean realclean)" ""
-  include Makefile.dep
+  -include Makefile.dep
 endif
 include $(srcdir)/clean.mk
 
 # My rules
 # --------
-.c.o:
-       $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+$(OBJDIR)/.stamp:
+       mkdir -p $(OBJDIR)
+       touch $(OBJDIR)/.stamp
+
+$(OBJDIR)/%.o: %.c $(OBJDIR)/.stamp
+       $(CC) -c $(CFLAGS) -o $@ $<
+
+$(OBJDIR)/%.o: $(ASXXLIB)/%.c $(OBJDIR)/.stamp
+       $(CC) -c $(CFLAGS) -o $@ $<
+
+$(OBJDIR)/%.o: $(UTILLIB)/%.c $(OBJDIR)/.stamp
+       $(CC) -c $(CFLAGS) -o $@ $<
 
 
 # Remaking configuration
 # ----------------------
 checkconf:
-       @if [ -f $(top_builddir)devel ]; then\
+       @if [ -f $(top_builddir)/devel ]; then\
           $(MAKE) -f conf.mk srcdir="$(srcdir)" top_builddir="$(top_builddir)" freshconf;\
         fi