RANLIB = @RANLIB@
INSTALL = @INSTALL@
-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)/gui.src
+CPPFLAGS = @CPPFLAGS@ -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) \
+ -I$(top_srcdir)/cmd.src -I$(top_srcdir)/gui.src
CFLAGS = @CFLAGS@ -Wall
CXXFLAGS = @CXXFLAGS@ -Wall
M_OR_MM = @M_OR_MM@
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 = app.o sim.o itsrc.o brk.o option.o arg.o stack.o \
- guiobj.o uc.o hw.o mem.o
+OBJECTS = stack.o mem.o sim.o itsrc.o brk.o arg.o \
+ guiobj.o uc.o hw.o
# Compiling entire program or any subproject
# ------------------------------------------
all: checkconf sim_lib
+test_mem_speed: $(top_builddir)/lib*.a test_mem_speed.o
+ $(CXX) -o $@ test_mem_speed.o -L$(top_builddir) -Wl,--start-group -lsim -lucsimutil -lcmd -Wl,--end-group
+
sim.src: all
# Performing self-test
# --------------------
-check:
+check: test
+ ./test_mem_speed
+test: test_mem_speed
# Performing installation test
# ----------------------------
# ---------------------
dep: main.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 Makefile.dep
+include $(srcdir)/clean.mk
#parser.cc: parser.y
# My rules
# --------
-sim_lib: $(PRJDIR)/libsim.a
+sim_lib: $(top_builddir)/libsim.a
-$(PRJDIR)/libsim.a: $(OBJECTS)
+$(top_builddir)/libsim.a: $(OBJECTS)
ar -rcu $*.a $(OBJECTS)
$(RANLIB) $*.a
# 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 sim.src/Makefile