Files
vortex/src/Makefile
2013-06-11 16:26:12 -06:00

59 lines
2.2 KiB
Makefile

################################################################################
# HARPtools by Chad D. Kersey, Summer 2011 #
################################################################################
CXXFLAGS ?= -fPIC -O3 # -g -DUSE_DEBUG=3
LDLIBS ?= -lharplib -pthread
LDFLAGS ?= -L.
PREFIX ?= /usr/local
LIB_OBJS=args.o obj.o mem.o core.o instruction.o enc.o util.o lex.yy.o
all: harptool libharplib.so libharplib.a libqsim-harp.so
# Use -static so we don't have to install the library in order to just run
# Harptool.
harptool: harptool.o libharplib.a
$(CXX) $(LDFLAGS) -static -o $@ harptool.o $(LDLIBS)
libharplib.so: $(LIB_OBJS)
$(CXX) -shared -o $@ $(LIB_OBJS)
libharplib.a: $(LIB_OBJS)
ar rcs $@ $(LIB_OBJS)
args.o : args.cpp include/args.h
enc.o : enc.cpp include/types.h include/util.h include/enc.h include/archdef.h\
include/instruction.h
harptool.o : harptool.cpp include/types.h include/core.h include/enc.h \
include/instruction.h include/mem.h include/obj.h \
include/archdef.h include/args.h include/help.h include/debug.h
instruction.o : instruction.cpp include/instruction.h include/obj.h \
include/core.h include/debug.h
obj.o : obj.cpp include/types.h include/obj.h include/util.h \
include/asm-tokens.h include/debug.h
util.o : util.cpp include/types.h include/util.h
mem.o : mem.cpp include/types.h include/util.h include/mem.h include/debug.h \
include/core.h
core.o : core.cpp include/types.h include/util.h include/mem.h \
include/debug.h include/archdef.h include/core.h
QSIM_CXXFLAGS=-DEMU_INSTRUMENTATION
libqsim-harp.so: args.cpp enc.cpp instruction.cpp obj.cpp util.cpp mem.cpp \
core.cpp qsim-harp.cpp lex.yy.o include/qsim-harp.h \
include/types.h include/core.h include/util.h include/enc.h \
include/archdef.h include/instruction.h include/asm-tokens.h \
include/mem.h
$(CXX) $(CXXFLAGS) $(QSIM_CXXFLAGS) -shared -o $@ $^
lex.yy.cc: scanner.lex
flex scanner.lex
install:
cp libharplib.so $(PREFIX)/lib
cp harptool $(PREFIX)/bin
cp -r include $(PREFIX)/include/harp
clean:
rm -f *~ \#* *.o *.a *.so include/*~ include/\#* harptool