Makefile.defs 1.44 KiB
## Variable that points to SystemC installation path
INCDIR = -I. -I.. -I$(SRCS_base_DIR) -I$(SRCS_base_DIR)/app -I$(SRCS_base_DIR)/arch -I$(SRCS_base_DIR)/evt -I$(SRCS_base_DIR)/sim -I$(SRCS_base_DIR)/TEPE
LIBDIR = -L. -L..
LIBS = -lm -ldl $(EXTRA_LIBS)
EXE = $(MODULE).x
.SUFFIXES: .cpp .o .x
$(EXE): makedir $(OBJS) $(OBJS_simulator)
echo Making target
ifeq ($(OS), SunOS)
$(CC) $(LFLAGS_SOLARIS) -lsocket $(INCDIR) $(LIBDIR) -o $@ $(OBJS) $(OBJS_simulator) $(LIBS) 2>&1 | c++filt
endif
ifneq ($(OS), SunOS)
# DB: On Ubuntu 16.04 GCC 5.4.0, we get the error "undefined reference to dlopen" when the linking flags are set before the files so moved after the files
$(CC) $(LTHREAD) $(INCDIR) $(LIBDIR) -o $@ $(OBJS) $(OBJS_simulator) $(LIBS) $(LFLAGS) 2>&1 | c++filt
# $(CC) $(LFLAGS) $(LTHREAD) $(INCDIR) $(LIBDIR) -o $@ $(OBJS) $(OBJS_simulator) $(LIBS) 2>&1 | c++filt
endif
makedir:
echo Making directories
mkdir -p ./lib/app
mkdir -p ./lib/arch
mkdir -p ./lib/TEPE
mkdir -p ./lib/evt
mkdir -p ./lib/sim
$(OBJDIR)/%.o: $(SRCS_base_DIR)/%.cpp
$(CC) $(CFLAGS) $(INCDIR) -o $@ -c $<
#$(OBJDIR)/evt/ListenersSimCmd.o: $(SRCS_base_DIR)/evt/ListenersSimCmd.cpp
# $(CC) $(CFLAGS) $(INCDIR) -o - ldl $@ -c $<
$(OBJDIR)/%.o: ./%.cpp
$(CC) $(CFLAGS) $(INCDIR) -o $@ -c $<
test:
./run.x -oxml answer.xml -cmd '1 2 1000000;22 100;7 0 vcddump.vcd'
clean:
rm -f $(OBJS_simulator) $(OBJS) *~ $(EXE) core
ultraclean: clean
rm -f Makefile.deps