X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fmain_in.mk;h=ea45c8eda03317cc070a31aeca20edd958b7d118;hb=2738d56c6c0b57108f9f1bb7bb5449c84fcaefda;hp=e7c34297b9d629b4be5d09953c93fe0d1738c3cb;hpb=6c239eaa4a76788c737d9b320edd485980bd8226;p=fw%2Fsdcc diff --git a/sim/ucsim/main_in.mk b/sim/ucsim/main_in.mk index e7c34297..ea45c8ed 100644 --- a/sim/ucsim/main_in.mk +++ b/sim/ucsim/main_in.mk @@ -13,35 +13,57 @@ CXXCPP = @CXXCPP@ RANLIB = @RANLIB@ INSTALL = @INSTALL@ -PRJDIR = . +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SIMDIR = sim.src +CMDDIR = cmd.src +GUIDIR = gui.src DEFS = $(subs -DHAVE_CONFIG_H,,@DEFS@) # FIXME: -Imcs51 must be removed!!! -CPPFLAGS = @CPPFLAGS@ -I$(PRJDIR) -CFLAGS = @CFLAGS@ -I$(PRJDIR) -Wall -CXXFLAGS = @CXXFLAGS@ -I$(PRJDIR) -Wall +CPPFLAGS = @CPPFLAGS@ -I$(top_builddir) -I$(srcdir) \ + -I$(top_srcdir)/$(SIMDIR) \ + -I$(top_srcdir)/$(CMDDIR) -I$(top_srcdir)/$(GUIDIR) +CFLAGS = @CFLAGS@ -I$(top_builddir) -Wall +CXXFLAGS = @CXXFLAGS@ -I$(top_builddir) -Wall M_OR_MM = @M_OR_MM@ +EXEEXT = @EXEEXT@ + +LIB_LIST = ucsimutil cmd sim +UCSIM_LIBS = -Wl,--start-group $(patsubst %,-l%,$(LIB_LIST)) -Wl,--end-group +UCSIM_LIB_FILES = $(patsubst %,lib%.a,$(LIB_LIST)) + 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 = @infodir@ srcdir = @srcdir@ +VPATH = @srcdir@ + +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) -OBJECTS = pobj.o globals.o utils.o +enable_ucsim = @enable_ucsim@ # Compiling entire program or any subproject # ------------------------------------------ all: checkconf libs -libs: libutil.a +libs: libucsimutil.a + +main_app: checkconf ucsim_app # Compiling and installing everything and runing test # --------------------------------------------------- @@ -51,16 +73,17 @@ install: all installdirs # Deleting all the installed files # -------------------------------- uninstall: - rm -f $(bindir)/s51 - rm -f $(bindir)/savr - rm -f $(bindir)/serialview - rm -f $(bindir)/portmon + rm -f $(DESTDIR)$(bindir)/s51$(EXEEXT) + rm -f $(DESTDIR)$(bindir)/savr$(EXEEXT) + rm -f $(DESTDIR)$(bindir)/serialview$(EXEEXT) + rm -f $(DESTDIR)$(bindir)/portmon$(EXEEXT) # Performing self-test # -------------------- check: +test: # Performing installation test # ---------------------------- @@ -76,11 +99,11 @@ installdirs: # --------------------- dep: main.dep -main.dep: *.cc *.h - $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) *.cc >main.dep +main.dep: $(ALL_SOURCES) *.h $(srcdir)/*.h + $(CXXCPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.cc,$^) >main.dep -include main.dep -include clean.mk +-include main.dep +include $(srcdir)/clean.mk #parser.cc: parser.y @@ -88,29 +111,32 @@ include clean.mk # My rules # -------- - -libutil.a: $(OBJECTS) +libucsimutil.a: $(OBJECTS) ar -rcu $*.a $(OBJECTS) $(RANLIB) $*.a -.cc.o: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ -.y.cc: - rm -f $*.cc $*.h - $(YACC) -d $< - mv y.tab.c $*.cc - mv y.tab.h $*.h +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$(top_builddir) $(UCSIM_LIBS) -.l.cc: - rm -f $*.cc - $(LEX) -t $< >$*.cc +ptt: ptt.o + $(CXX) $(CXXFLAGS) -o $@ $< -lpthread +.cc.o: + $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ # Remaking configuration # ---------------------- checkconf: @if [ -f devel ]; then\ + $(top_srcdir)/mkecho $(top_builddir) "MAIN.MK checkconf";\ $(MAKE) -f conf.mk srcdir="$(srcdir)" freshconf;\ fi