# # uCsim tlcs.src/Makefile # # (c) Drotos Daniel, Talker Bt. 1997 # # STARTYEAR = 2016 SHELL = /bin/sh CXX = g++ CPP = gcc -E CXXCPP = g++ -E RANLIB = ranlib INSTALL = /usr/bin/install -c STRIP = strip MAKEDEP = g++ -MM top_builddir = .. top_srcdir = .. transform = s,x,x, DEFS = $(subs -DHAVE_CONFIG_H,,-DHAVE_CONFIG_H) 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 = -g -O2 -Wall CXXFLAGS = -g -O2 -g -Wall LDFLAGS = PICOPT = -fPIC -DPIC SHAREDLIB = yes EXEEXT = LIBS = -L$(top_builddir) -lsim -lucsimutil -lguiucsim -lcmd -lsim -lrt -lnsl DL = -ldl dl_ok = yes prefix = /usr/local exec_prefix = ${prefix} bindir = ${exec_prefix}/bin libdir = ${exec_prefix}/lib datadir = ${datarootdir} datarootdir = ${prefix}/share includedir = ${prefix}/include mandir = ${datarootdir}/man man1dir = $(mandir)/man1 man2dir = $(mandir)/man2 infodir = ${datarootdir}/info srcdir = . OBJECTS_SHARED = glob.o \ simtlcs.o tlcs.o \ inst_block.o inst_cpu_others.o inst_rot_sh.o \ inst_jump.o inst_move.o inst_arith.o inst_bit.o OBJECTS_EXE = stlcs.o OBJECTS = $(OBJECTS_SHARED) $(OBJECTS_EXE) enable_dlso = no dlso_ok = no # Compiling entire program or any subproject # ------------------------------------------ all: checkconf otherlibs tlcs.src # Compiling and installing everything and runing test # --------------------------------------------------- install: all installdirs $(INSTALL) stlcs$(EXEEXT) $(DESTDIR)$(bindir)/`echo stlcs|sed '$(transform)'`$(EXEEXT) $(STRIP) $(DESTDIR)$(bindir)/`echo stlcs|sed '$(transform)'`$(EXEEXT) # Deleting all the installed files # -------------------------------- uninstall: rm -f $(DESTDIR)$(bindir)/stlcs rm -f $(DESTDIR)$(bindir)/`echo stlcs|sed '$(transform)'`$(EXEEXT) # Performing self-test # -------------------- check: $(TEST_OBJ) test: # Performing installation test # ---------------------------- installcheck: # Creating installation directories # --------------------------------- installdirs: test -d $(DESTDIR)$(bindir) || $(INSTALL) -d $(DESTDIR)$(bindir) # Creating dependencies # --------------------- dep: Makefile.dep Makefile.dep: $(srcdir)/*.cc $(srcdir)/*.h $(MAKEDEP) $(CPPFLAGS) $(filter %.cc,$^) >Makefile.dep -include Makefile.dep include $(srcdir)/clean.mk # My rules # -------- tlcs.src: stlcs$(EXEEXT) shared_lib stlcs$(EXEEXT): $(OBJECTS) $(top_builddir)/libcmd.a $(top_builddir)/libguiucsim.a $(top_builddir)/libsim.a $(top_builddir)/libucsimutil.a $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ ifeq ($(dlso_ok),yes) shared_lib: $(top_builddir)/stlcs.so else shared_lib: @$(top_srcdir)/mkecho $(top_builddir) "No TLCS shared lib made." @$(top_srcdir)/mkecho $(top_builddir) "(SHAREDLIB="$(SHAREDLIB)",dl_ok="$(dl_ok)",enable_dlso="$(enable_dlso)")" endif $(top_builddir)/stlcs.so: $(OBJECTS_SHARED) $(CXX) -shared $(LDFLAGS) $(OBJECTS_SHARED) -o $@ otherlibs: $(top_builddir)/libcmd.a $(top_builddir)/libguiucsim.a $(top_builddir)/libsim.a $(top_builddir)/libucsimutil.a $(top_builddir)/libcmd.a: $(MAKE) -C $(top_builddir)/cmd.src all $(top_builddir)/libguiucsim.a: $(MAKE) -C $(top_builddir)/gui.src checkconf ucsim_lib $(top_builddir)/libsim.a: $(MAKE) -C $(top_builddir)/sim.src all $(top_builddir)/libucsimutil.a: $(MAKE) -C $(top_builddir) -f main.mk .cc.o: $(CXX) $(CXXFLAGS) $(PICOPT) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ # Remaking configuration # ---------------------- checkconf: @if [ -f $(top_builddir)/devel ]; then\ $(MAKE) -C $(top_builddir) -f conf.mk srcdir="$(srcdir)" top_builddir="$(top_builddir)" freshconf;\ fi # End of tlcs.src/Makefile.in