2007-11-17 Borut Razem <borut.razem AT siol.net>
[fw/sdcc] / as / mcs51 / Makefile.in
index c33894835bec0a9b9fce2f15c67c06fd957755df..c73d151436fe236f1a57c21044c3f873b0ae777a 100644 (file)
@@ -7,69 +7,74 @@ 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@
 
-PRJDIR         = ../..
+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
 man2dir         = $(mandir)/man2
 infodir         = @info@
 
-CPPFLAGS       = @CPPFLAGS@ -I. -I$(PRJDIR)
-CFLAGS         = @CFLAGS@ -Wall
-M_OR_MM                = @M_OR_MM@
-LDFLAGS                = @LDFLAGS@
+EXEEXT          = @EXEEXT@
 
-ASOBJECTS      = asmain.o aslex.o assym.o assubr.o asnoice.o \
-                 asexpr.o asdata.o aslist.o asout.o asstore.o \
-                 i51ext.o i51pst.o i51mch.o i51adr.o    
-ASSOURCES      = $(patsubst %.o,%.c,$(ASOBJECTS))
+VPATH           = @srcdir@
 
-LKOBJECTS      = lkmain.o lkhead.o lkarea.o lkdata.o \
-                 lkeval.o lklex.o lksym.o lkrloc.o \
-                 lklibr.o lklist.o lkihx.o lks19.o \
-                 lkstore.o lknoice.o
-LKSOURCES      = $(patsubst %.o,%.c,$(LKOBJECTS))
+CPPFLAGS        = @CPPFLAGS@ -I. -I$(srcdir)
+CFLAGS          = @CFLAGS@ -Wall -DINDEXLIB -I. -I$(srcdir)
+M_OR_MM         = @M_OR_MM@
+LDFLAGS         = @LDFLAGS@
 
-ASX8051                = $(PRJDIR)/bin/asx8051
-ASLINK         = $(PRJDIR)/bin/aslink
+OBJDIR = obj
+
+ASXXLIB = $(srcdir)/../asxxsrc
+
+ASXXLIBSRC = strcmpi.c assym.c
+
+SRC = asmain.c aslex.c assubr.c asnoice.c \
+      asexpr.c asdata.c aslist.c asout.c asstore.c \
+      i51ext.c i51pst.c i51mch.c i51adr.c
+
+ASSOURCES = %(SRC) $(ASXXLIBSRC:%.c=$(ASXXLIB)/%.c)
+                  
+OBJS = $(SRC:%.c=$(OBJDIR)/%.o)
+ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o)
+ASOBJECTS = $(OBJS) $(ASXXLIBOBJS)
+
+ASX8051 = $(top_builddir)/bin/asx8051$(EXEEXT)
 
 transform       = @program_transform_name@
 
 # Compiling entire program or any subproject
 # ------------------------------------------
-all: checkconf $(ASX8051) $(ASLINK)
+all: checkconf $(ASX8051)
 
 $(ASX8051): $(ASOBJECTS)
-       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(ASOBJECTS) 
-
-$(ASLINK): $(LKOBJECTS)
-       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(LKOBJECTS)
+       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(ASOBJECTS)
 
-# Compiling and installing everything and runing test
-# ---------------------------------------------------
+# Compiling and installing everything and running test
+# ----------------------------------------------------
 install: all installdirs
-       $(INSTALL) $(ASX8051) `echo $(bindir)/asx8051|sed '$(transform)'`
-       $(STRIP) -s `echo $(bindir)/asx8051|sed '$(transform)'`
-       $(INSTALL) $(ASLINK) `echo $(bindir)/aslink|sed '$(transform)'`
-       $(STRIP) -s `echo $(bindir)/aslink|sed '$(transform)'`
+       $(INSTALL) $(ASX8051) `echo $(DESTDIR)$(bindir)/asx8051$(EXEEXT)|sed '$(transform)'`
+       $(STRIP) `echo $(DESTDIR)$(bindir)/asx8051$(EXEEXT)|sed '$(transform)'`
 
 # Deleting all the installed files
 # --------------------------------
 uninstall:
-       rm -f $(bindir)/asx8051 $(bindir)/aslink
+       rm -f $(DESTDIR)$(bindir)/asx8051$(EXEEXT)
 
 
 # Performing self-test
@@ -85,30 +90,40 @@ installcheck:
 # Creating installation directories
 # ---------------------------------
 installdirs:
-       $(INSTALL) -d $(bindir)
+       $(INSTALL) -d $(DESTDIR)$(bindir)
 
 
 # Creating dependencies
 # ---------------------
 dep: Makefile.dep
 
-Makefile.dep: $(ASSOURCES) $(LKSOURCES) *.h $(PRJDIR)/*.h
-       $(CPP) $(CPPFLAGS) $(M_OR_MM) $(ASSOURCES) $(LKSOURCES) >Makefile.dep
+Makefile.dep: $(ASSOURCES) $(srcdir)/*.h
+       $(CPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.c,$^) >Makefile.dep
 
-include Makefile.dep
-include clean.mk
+ifeq "$(findstring $(MAKECMDGOALS),uninstall check installcheck installdirs \
+                                   clean distclean mostlyclean realclean)" ""
+  -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 $@ $<
 
 
 # Remaking configuration
 # ----------------------
 checkconf:
-       @if [ -f $(PRJDIR)/devel ]; then\
-          $(MAKE) -f conf.mk srcdir="$(srcdir)" PRJDIR="$(PRJDIR)" freshconf;\
+       @if [ -f $(top_builddir)/devel ]; then\
+          $(MAKE) -f conf.mk srcdir="$(srcdir)" top_builddir="$(top_builddir)" freshconf;\
         fi
 
 # End of Makefile