-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMakefile
More file actions
35 lines (24 loc) · 719 Bytes
/
Makefile
File metadata and controls
35 lines (24 loc) · 719 Bytes
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
31
32
33
34
35
BUILDDIR = build
OBJS = $(addprefix $(BUILDDIR)/,main.o parser.o scanner.o citip.o)
CPPFLAGS = -MMD -MP
CXXFLAGS = -std=c++11 -I. -I$(BUILDDIR)
all: prepare Citip
Citip: $(OBJS)
g++ -o $@ $^ -lglpk
$(BUILDDIR)/%.o: %.cpp
$(CXX) -o $@ -c $< $(CPPFLAGS) $(CXXFLAGS)
$(BUILDDIR)/%.o: $(BUILDDIR)/%.cxx
$(CXX) -o $@ -c $< $(CPPFLAGS) $(CXXFLAGS)
$(BUILDDIR)/parser.cxx: parser.y
bison -o $@ --defines=$(BUILDDIR)/parser.hxx $<
$(BUILDDIR)/scanner.cxx: scanner.l
flex -o $@ --header-file=$(BUILDDIR)/scanner.hxx $<
$(OBJS): $(BUILDDIR)/scanner.cxx $(BUILDDIR)/parser.cxx
.PHONY: prepare all
prepare:
@mkdir -p $(BUILDDIR)
clean:
rm -rf $(BUILDDIR)
clobber: clean
rm -f Citip
-include $(OBJS:%.o=%.d)