sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target...
[fw/sdcc] / sim / ucsim / main_in.mk
index d3d7800ada95d1415f63268a54dda8aa578f886e..99cfc2320bfb446df3df870eab3700b2d8eb66f7 100644 (file)
@@ -14,14 +14,22 @@ RANLIB              = @RANLIB@
 INSTALL                = @INSTALL@
 
 PRJDIR         = .
+SIMDIR         = sim.src
+CMDDIR         = cmd.src
+GUIDIR         = gui.src
 
 DEFS            = $(subs -DHAVE_CONFIG_H,,@DEFS@)
 # FIXME: -Imcs51 must be removed!!!
-CPPFLAGS        = @CPPFLAGS@ -I$(PRJDIR)
+CPPFLAGS        = @CPPFLAGS@ -I$(PRJDIR) -I$(PRJDIR)/$(SIMDIR) \
+                 -I$(CMDDIR) -I$(GUIDIR)
 CFLAGS          = @CFLAGS@ -I$(PRJDIR) -Wall
 CXXFLAGS        = @CXXFLAGS@ -I$(PRJDIR) -Wall
 M_OR_MM         = @M_OR_MM@
 
+LIB_LIST       = util sim cmd sim
+UCSIM_LIBS     = $(patsubst %,-l%,$(LIB_LIST))
+UCSIM_LIB_FILES        = $(patsubst %,lib%.a,$(LIB_LIST))
+
 prefix          = @prefix@
 exec_prefix     = @exec_prefix@
 bindir          = @bindir@
@@ -34,7 +42,13 @@ man2dir         = $(mandir)/man2
 infodir         = @infodir@
 srcdir          = @srcdir@
 
-OBJECTS         = pobj.o globals.o utils.o
+OBJECTS         = pobj.o globals.o utils.o error.o app.o option.o
+SOURCES                = $(patsubst %.o,%.cc,$(OBJECTS))
+UCSIM_OBJECTS  = ucsim.o
+UCSIM_SOURCES  = $(patsubst %.o,%.cc,$(UCSIM_OBJECTS))
+ALL_SOURCES    = $(SOURCES) $(UCSIM_SOURCES)
+
+enable_ucsim   = @enable_ucsim@
 
 
 # Compiling entire program or any subproject
@@ -43,6 +57,8 @@ all: checkconf libs
 
 libs: libutil.a
 
+main_app: checkconf ucsim_app
+
 # Compiling and installing everything and runing test
 # ---------------------------------------------------
 install: all installdirs
@@ -61,6 +77,7 @@ uninstall:
 # --------------------
 check:
 
+test:
 
 # Performing installation test
 # ----------------------------
@@ -76,8 +93,8 @@ installdirs:
 # ---------------------
 dep: main.dep
 
-main.dep: *.cc *.h
-       $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) *.cc >main.dep
+main.dep: $(ALL_SOURCES) *.h
+       $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) $(ALL_SOURCES) >main.dep
 
 include main.dep
 include clean.mk
@@ -88,11 +105,21 @@ include clean.mk
 
 # My rules
 # --------
-
 libutil.a: $(OBJECTS)
        ar -rcu $*.a $(OBJECTS)
        $(RANLIB) $*.a
 
+
+ifeq ($(enable_ucsim),yes)
+ucsim_app: libs ucsim
+else
+ucsim_app:
+endif
+
+ucsim: $(UCSIM_OBJECTS) $(UCSIM_LIB_FILES)
+       echo $(UCSIM_LIB_FILES)
+       $(CXX) $(CXXFLAGS) -o $@ $< -L$(PRJDIR) $(UCSIM_LIBS)
+
 .cc.o:
        $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
 
@@ -111,7 +138,7 @@ libutil.a: $(OBJECTS)
 # ----------------------
 checkconf:
        @if [ -f devel ]; then\
-         echo "MAIN.MK checkconf";\
+         $(PRJDIR)/mkecho $(PRJDIR) "MAIN.MK checkconf";\
          $(MAKE) -f conf.mk srcdir="$(srcdir)" freshconf;\
        fi