| 1 | #TARGET_ARCH = linux
|
|---|
| 2 | BFD_LIBERTY = -lbfd -liberty
|
|---|
| 3 | SOCLIB_LIB = $(SOCLIB)/lib/libsoclib.a
|
|---|
| 4 | SOCLIB_INCLUDE = $(SOCLIB)/include
|
|---|
| 5 | #SYSTEMC = /users/outil/systemc/systemc-2.0.1
|
|---|
| 6 | #SYSTEMC = /dsk/l1/misc/richard/systemc_2_1.oct_12_2004.beta
|
|---|
| 7 | #SYSTEMCASS = /users/cao/buchmann/systemcass/systemcass
|
|---|
| 8 | SYSTEMC_INC = $(SYSTEMC)/include
|
|---|
| 9 | SYSTEMCASS_INC = $(SYSTEMCASS)/include
|
|---|
| 10 | SYSTEMC_LIB = $(SYSTEMC)/lib-$(TARGET_ARCH)/libsystemc.a
|
|---|
| 11 | SYSTEMCASS_LIB = $(SYSTEMCASS)/lib-$(TARGET_ARCH)/libsystemc_$(firstword $(CXX)).a
|
|---|
| 12 |
|
|---|
| 13 | #CXX = g++
|
|---|
| 14 | #CXX = icc -w1
|
|---|
| 15 | CPPFILT = c++filt
|
|---|
| 16 | #DEBUG = -g -DDEBUG
|
|---|
| 17 | OPT = -O2 -UENABLE_TRACE -UENABLE_PAT
|
|---|
| 18 | #PROF = -pg # gcc
|
|---|
| 19 | #PROF = -qp # icc
|
|---|
| 20 | CFLAGS = $(PROF) $(DEBUG) $(OPT) -I. -I$(SOCLIB)/include
|
|---|
| 21 | LFLAGS = $(PROF) $(SOCLIB_LIB) $(BFD_LIBERTY) -ldl
|
|---|
| 22 |
|
|---|
| 23 | CFLAGS_SYSTEMC = $(CFLAGS) -I$(SYSTEMC_INC)
|
|---|
| 24 | CFLAGS_SYSTEMCASS = $(CFLAGS) -I$(SYSTEMCASS_INC) -rdynamic #-Wno-deprecated
|
|---|
| 25 | LFLAGS_SYSTEMC = $(LFLAGS) $(SYSTEMC_LIB)
|
|---|
| 26 | LFLAGS_SYSTEMCASS = $(LFLAGS) -rdynamic $(SYSTEMCASS_LIB)
|
|---|
| 27 |
|
|---|
| 28 | EXE = system_systemc.x system_systemcass.x
|
|---|
| 29 | OBJECTS = $(EXE:.x=.o)
|
|---|
| 30 | LINKS = $(OBJECTS:.o=.cpp)
|
|---|
| 31 |
|
|---|
| 32 | .SECONDARY:
|
|---|
| 33 |
|
|---|
| 34 | main : $(EXE)
|
|---|
| 35 |
|
|---|
| 36 | %_systemc.x : %_systemc.o $(SYSTEMC_LIB)
|
|---|
| 37 | $(CXX) -o $@ $*_systemc.o $(LFLAGS_SYSTEMC) 2>&1 | $(CPPFILT)
|
|---|
| 38 |
|
|---|
| 39 | %_systemcass.x : %_systemcass.o $(SYSTEMCASS_LIB)
|
|---|
| 40 | $(CXX) -o $@ $*_systemcass.o $(LFLAGS_SYSTEMCASS) 2>&1 | $(CPPFILT)
|
|---|
| 41 |
|
|---|
| 42 | -include Makefile.deps
|
|---|
| 43 |
|
|---|
| 44 | %_systemc.cpp : %.cpp
|
|---|
| 45 | ln -s $*.cpp $*_systemc.cpp
|
|---|
| 46 |
|
|---|
| 47 | %_systemcass.cpp : %.cpp
|
|---|
| 48 | ln -s $*.cpp $*_systemcass.cpp
|
|---|
| 49 |
|
|---|
| 50 | %_systemc.o : %_systemc.cpp
|
|---|
| 51 | $(CXX) $(CFLAGS_SYSTEMC) -MM $*_systemc.cpp >> Makefile.deps
|
|---|
| 52 | $(CXX) $(CFLAGS_SYSTEMC) -c $*_systemc.cpp -o $*_systemc.o
|
|---|
| 53 |
|
|---|
| 54 | %_systemcass.o : %_systemcass.cpp
|
|---|
| 55 | $(CXX) $(CFLAGS_SYSTEMCASS) -MM $*_systemcass.cpp >> Makefile.deps
|
|---|
| 56 | $(CXX) $(CFLAGS_SYSTEMCASS) -c $*_systemcass.cpp -o $*_systemcass.o
|
|---|
| 57 |
|
|---|
| 58 | %.gif : %.dot
|
|---|
| 59 | dot -Tgif -o $*.gif $*.dot
|
|---|
| 60 |
|
|---|
| 61 | view_%.dot : %.gif
|
|---|
| 62 | gqview $*.gif &
|
|---|
| 63 |
|
|---|
| 64 |
|
|---|
| 65 | clean :
|
|---|
| 66 | -echo > Makefile.deps
|
|---|
| 67 | -rm -f *.o gmon.out
|
|---|
| 68 | -rm -f *.txt
|
|---|
| 69 | -rm -f $(EXE) $(OBJECTS)
|
|---|
| 70 | -for i in $(LINKS) ; do unlink $$i ; done 2> /dev/null
|
|---|
| 71 | -rm -f core*
|
|---|
| 72 | -rm -f trace_file.vcd
|
|---|
| 73 | -rm -f trace_file.pat
|
|---|
| 74 | -rm -f TTY_*
|
|---|
| 75 | -rm -rf code-*.cc code-*.so .libs/
|
|---|
| 76 |
|
|---|