* sim/ucsim/configure, sim/ucsim/cmd.src/newcmdcl.h,
[fw/sdcc] / sim / ucsim / s51.src / Makefile.in
index 10be85e8ee52b49440f22d2a4d326280abf1ff7f..cc95874ed063ad71ab64c7f656e53473ebf69827 100644 (file)
@@ -14,22 +14,25 @@ RANLIB              = @RANLIB@
 INSTALL                = @INSTALL@
 STRIP          = @STRIP@
 
-PRJDIR         = ..
+top_builddir   = @top_builddir@
+top_srcdir     = @top_srcdir@
 
 DEFS            = $(subs -DHAVE_CONFIG_H,,@DEFS@)
-CPPFLAGS        = @CPPFLAGS@ -I. -I$(PRJDIR) \
-                 -I$(PRJDIR)/cmd.src -I$(PRJDIR)/sim.src -I$(PRJDIR)/gui.src
+CPPFLAGS        = @CPPFLAGS@ -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) \
+                 -I$(top_srcdir)/cmd.src -I$(top_srcdir)/sim.src \
+                 -I$(top_srcdir)/gui.src
 CFLAGS          = @CFLAGS@ -Wall
 CXXFLAGS        = @CXXFLAGS@ -Wall
 M_OR_MM         = @M_OR_MM@
 PICOPT         = @PICOPT@
 SHAREDLIB      = @SHAREDLIB@
+SERIAL_AVAIL   = @SERIAL_AVAIL@
 
 SDCC           = sdcc
 SDCFLAGS       = --debug --stack-after-data --model-small
 SDCPPFLAGS     = 
 
-LIBS           = @LIBS@ -L$(PRJDIR) -lsim -lcmd -lguiucsim -lutil
+LIBS           = -L$(top_builddir) -lsim -lutil -lguiucsim -lcmd -lsim @LIBS@
 DL             = @DL@
 dl_ok          = @dl_ok@
 
@@ -44,13 +47,21 @@ man1dir         = $(mandir)/man1
 man2dir         = $(mandir)/man2
 infodir         = @infodir@
 srcdir          = @srcdir@
+VPATH           = @srcdir@
+
+EXEEXT         = @EXEEXT@
 
 OBJECTS_SHARED = glob.o sim51.o \
                  inc.o jmp.o mov.o logic.o arith.o bit.o \
-                 timer0.o timer1.o timer2.o serial.o port.o interrupt.o \
+                 timer0.o timer1.o timer2.o port.o interrupt.o \
                  wdt.o pca.o \
                  uc51.o uc52.o uc51r.o uc89c51r.o uc251.o \
                  uc390.o uc390hw.o
+
+ifeq ($(SERIAL_AVAIL), 1)
+OBJECTS_SHARED += serial.o
+endif
+
 OBJECTS_EXE    = s51.o 
 OBJECTS                = $(OBJECTS_SHARED) $(OBJECTS_EXE)
 
@@ -66,14 +77,14 @@ all: checkconf otherlibs s51.src
 # Compiling and installing everything and runing test
 # ---------------------------------------------------
 install: all installdirs
-       if test -f s51.exe; then $(INSTALL) -s s51.exe $(bindir); $(STRIP) $(bindir)/s51.exe; fi
-       if test -f s51; then $(INSTALL) -s s51 $(bindir); $(STRIP) $(bindir)/s51; fi
+       $(INSTALL) s51$(EXEEXT) $(DESTDIR)$(bindir)/s51$(EXEEXT)
+       $(STRIP) $(DESTDIR)$(bindir)/s51$(EXEEXT)
 
 
 # Deleting all the installed files
 # --------------------------------
 uninstall:
-       rm -f $(bindir)/s51
+       rm -f $(DESTDIR)$(bindir)/s51$(EXEEXT)
 
 
 # Performing self-test
@@ -93,18 +104,18 @@ installcheck:
 # Creating installation directories
 # ---------------------------------
 installdirs:
-       test -d $(bindir) || $(INSTALL) -d $(bindir)
+       test -d $(DESTDIR)$(bindir) || $(INSTALL) -d $(DESTDIR)$(bindir)
 
 
 # Creating dependencies
 # ---------------------
 dep: Makefile.dep
 
-Makefile.dep: *.cc *.h
-       $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) *.cc >Makefile.dep
+Makefile.dep: $(srcdir)/*.cc $(srcdir)/*.h
+       $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.cc,$^) >Makefile.dep
 
 include Makefile.dep
-include clean.mk
+include $(srcdir)/clean.mk
 
 #parser.cc: parser.y
 
@@ -114,26 +125,27 @@ include clean.mk
 # --------
 .SUFFIXES: .rel
 
-s51.src: s51 shared_lib
+s51.src: s51$(EXEEXT) shared_lib
 
-s51: $(OBJECTS) $(PRJDIR)/*.a
-       $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o s51
+s51$(EXEEXT): $(OBJECTS) $(top_builddir)*.a
+       $(CXX) $(CXXFLAGS) $(OBJECTS) $(LIBS) -o $@
 
 ifeq ($(dlso_ok),yes)
-shared_lib: $(PRJDIR)/s51.so
+shared_lib: $(top_builddir)s51.so
 else
 shared_lib:
-       @echo "No 51 shared lib made."
-       @echo "(SHAREDLIB="$(SHAREDLIB)",dl_ok="$(dl_ok)",enable_dlso="$(enable_dlso)")"
+       @$(top_srcdir)/mkecho $(top_builddir) "No 51 shared lib made."
+       @$(top_srcdir)/mkecho $(top_builddir) "(SHAREDLIB="$(SHAREDLIB)",dl_ok="$(dl_ok)",enable_dlso="$(enable_dlso)")"
 endif
 
-$(PRJDIR)/s51.so: $(OBJECTS_SHARED)
-       $(CXX) -shared $(OBJECTS_SHARED) -o $(PRJDIR)/s51.so
+$(top_builddir)s51.so: $(OBJECTS_SHARED)
+       $(CXX) -shared $(OBJECTS_SHARED) -o $@
 
 otherlibs:
-       cd $(PRJDIR)/cmd.src && $(MAKE) all
-       cd $(PRJDIR)/sim.src && $(MAKE) all
-       $(MAKE) -C $(PRJDIR)/gui.src checkconf ucsim_lib
+       $(MAKE) -C $(top_builddir) libs
+       $(MAKE) -C $(top_builddir)cmd.src all
+       $(MAKE) -C $(top_builddir)sim.src all
+       $(MAKE) -C $(top_builddir)gui.src checkconf ucsim_lib
 
 .cc.o:
        $(CXX) $(CXXFLAGS) $(PICOPT) $(CPPFLAGS) -c $< -o $@
@@ -145,8 +157,8 @@ otherlibs:
 # 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 s51.src/Makefile.in