summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/automate/GNUmakefile
blob: 0f0e9b76c1384c819a3b371677d3e2016308c3d3 (plain)
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
SRCDIR = ..
CXXFLAGS = -Wall -g
CPPFLAGS = -I$(SRCDIR)

TARGETS = grafcet.a
grafcet_a_SOURCES = grafcet.cc receptivite.cc action.cc grammar.tab.cc lexer.cc

all: $(TARGETS)

grammar.tab.cc grammar.tab.hh: grammar.yy
	bison $<

lexer.cc: lexer.ll grammar.tab.hh
	flex -o$@ $<

grafcet.a: ${grafcet_a_SOURCES:%.cc=grafcet.a(%.o)}

.dep/%.d: %.cc .dep
	@set -e; $(CC) -M $(CPPFLAGS) $< \
	    | sed 's/\($*\)\.o[ :]*/\1.o .dep\/$*.d : /g' > $@; \
		 [ -s $@ ] || rm -f $@

-include $(grafcet_a_SOURCES:%.cc=.dep/%.d)

.dep:
	@mkdir .dep

clean:
	rm -f $(TARGETS) *.o
	rm -rf .dep