-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
30 lines (23 loc) · 880 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Standard C++ compiler stuff (see rose-config --help)
comma := ,
CXX = $(shell $(ROSE_INSTALLED)/bin/rose-config cxx)
CPPFLAGS = $(shell $(ROSE_INSTALLED)/bin/rose-config cppflags) -I.
CXXFLAGS = $(shell $(ROSE_INSTALLED)/bin/rose-config cxxflags)
LIBDIRS = $(shell $(ROSE_INSTALLED)/bin/rose-config libdirs)
LDFLAGS = $(shell $(ROSE_INSTALLED)/bin/rose-config ldflags) -L. \
$(addprefix -Wl$(comma)-rpath -Wl$(comma), $(subst :, , $(LIBDIRS)))
PROGRAM = memEval
SOURCES = MiraSemantics.C MemEval.C
OBJECTS = $(SOURCES:.C=.o)
# Default make rule to use
all: $(PROGRAM) robb
%.o : %.C
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
$(PROGRAM): $(OBJECTS)
$(CXX) -o $@ $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
robb.o: robb.C
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $^
robb: robb.o MiraSemantics.o
$(CXX) -o $@ $(CXXFLAGS) $^ $(LDFLAGS)
clean:
rm -f $(OBJECTS) $(PROGRAM)