EXEEXT introduces to solve Cygwin problems
[fw/sdcc] / sim / ucsim / gui.src / Makefile.in
index a1ba94ad69bbb35dc765371953e836dd5ba18148..1364969cf22067dd3bfb0ae8a28e77619624b7cb 100644 (file)
@@ -14,12 +14,13 @@ INSTALL             = @INSTALL@
 PRJDIR         = ..
 
 DEFS            = $(subs -DHAVE_CONFIG_H,,@DEFS@)
-CPPFLAGS        = @CPPFLAGS@ -I. -I$(PRJDIR)
+CPPFLAGS        = @CPPFLAGS@ -I. -I$(PRJDIR) \
+                 -I$(PRJDIR)/sim.src -I$(PRJDIR)/cmd.src
 CFLAGS          = @CFLAGS@ -Wall
 CXXFLAGS        = @CXXFLAGS@ -Wall
 M_OR_MM         = @M_OR_MM@
 
-LIBS           = @LIBS@ -L$(PRJDIR) -lutil -lsim -lcmd
+LIBS           = @LIBS@ @CURSES_LIBS@ -L$(PRJDIR)
 
 curses_ok      = @curses_ok@
 
@@ -35,63 +36,97 @@ man2dir         = $(mandir)/man2
 infodir         = @infodir@
 srcdir          = @srcdir@
 
-PKGS           = serio.src portmon.src
+enable_serio   = @enable_serio@
+PKGS           =
+ifeq ($(enable_serio),yes)
+SERIO_PKG      = serio.src
+else
+SERIO_PKG      =
+endif
+CURSES_PKGS    = $(SERIO.PKG)
+
+# Common code
+OBJECTS                = rec.o
+SOURCES                = $(patsubst %.o,%.cc,$(OBJECTS))
+
+# uCsim only
+UCSIM_OBJECTS  = gui.o if.o
+UCSIM_SOURCES  = $(patsubst %.o,%.cc,$(UCSIM_OBJECTS))
 
-LOBJECTS       = event.o \
-                 view.o frame.o bg.o label.o \
-                 group.o win.o desk.o app.o
+# Tool only
+TOOL_OBJECTS   =
+TOOL_SOURCES   = $(patsubst %.o,%.cc,$(TOOL_OBJECTS))
+
+ALL_SOURCES    = $(SOURCES) $(UCSIM_SOURCES) $(TOOL_SOURCES)
 
 
 # Compiling entire program or any subproject
 # ------------------------------------------
 all: gui.src
 
-libs: guilib
-
+gui.src: checkconf gui_api
 ifeq ($(curses_ok),yes)
-gui.src: checkconf guilib a
-else
-gui.src: checkconf guilib
-endif
-       @for pkg in $(PKGS); do\
-         $(MAKE) -C $$pkg $$pkg ;\
+       @for pkg in dummy $(CURSES_PKGS); do\
+         if test -d $$pkg; then $(MAKE) -C $$pkg $$pkg; else : ; fi ;\
        done
+endif
+#      @for pkg in $(PKGS); do\
+#        $(MAKE) -C $$pkg $$pkg ;\
+#      done
 
-a: a.o
-       $(CXX) $(LDFLAGS) a.o -o $@ $(LIBS)
+gui_api: ucsim_lib tool_lib
 
 
 # Compiling and installing everything and runing test
 # ---------------------------------------------------
-install:
+install: install_gui_api
+ifeq ($(curses_ok),yes)
        @for pkg in $(PKGS); do\
          cd $$pkg && $(MAKE) install ; cd ..;\
        done
+endif
+
+install_gui_api:
 
 
 # Deleting all the installed files
 # --------------------------------
-uninstall:
+uninstall: uninstall_gui_api
+ifeq ($(curses_ok),yes)
        @for pkg in $(PKGS); do\
          cd $$pkg && $(MAKE) uninstall ; cd ..;\
        done
+endif
+
+uninstall_gui_api:
 
 
 # Performing self-test
 # --------------------
-check:
+check: check_local
        @for pkg in $(PKGS); do\
          cd $$pkg && $(MAKE) check ; cd ..;\
        done
 
+check_local:
+
+test: test_local
+       @for pkg in $(PKGS); do\
+         cd $$pkg && $(MAKE) test ; cd ..;\
+       done
+
+test_local:
+
 
 # Performing installation test
 # ----------------------------
-installcheck:
+installcheck: installcheck_gui_api
        @for pkg in $(PKGS); do\
          cd $$pkg && $(MAKE) installcheck ; cd ..;\
        done
 
+installcheck_gui_api:
+
 
 # Creating installation directories
 # ---------------------------------
@@ -105,26 +140,25 @@ installdirs:
 # ---------------------
 dep: Makefile.dep
 
-Makefile.dep: *.cc *.h
-       $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) *.cc >Makefile.dep
+Makefile.dep: $(ALL_SOURCES) *.h
+       $(CXXCPP) -MM $(CPPFLAGS) $(M_OR_MM) $(ALL_SOURCES) >Makefile.dep
 
 include Makefile.dep
 include clean.mk
 
-#parser.cc: parser.y
-
-#plex.cc: plex.l
 
 # My rules
 # --------
-ifeq ($(curses_ok),yes)
-guilib: libgui.a
-else
-guilib:
-endif
+ucsim_lib: $(PRJDIR)/libguiucsim.a
+
+$(PRJDIR)/libguiucsim.a: $(OBJECTS) $(UCSIM_OBJECTS)
+       ar -rcu $*.a $(OBJECTS) $(UCSIM_OBJECTS)
+       $(RANLIB) $*.a
+
+tool_lib: $(PRJDIR)/libguitool.a
 
-libgui.a: $(LOBJECTS)
-       ar -rcu $*.a $(LOBJECTS)
+$(PRJDIR)/libguitool.a: $(OBJECTS) $(TOOL_OBJECTS)
+       ar -rcu $*.a $(OBJECTS) $(TOOL_OBJECTS)
        $(RANLIB) $*.a
 
 .cc.o: