Skip to content
Snippets Groups Projects
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