-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.mk.in
54 lines (40 loc) · 1.15 KB
/
build.mk.in
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
CXX=@CXX@
CXXFLAGS=@CXXFLAGS@
LDFLAGS=@LDFLAGS@
PLUGIN_LDFLAGS=@PLUGIN_LDFLAGS@
LIB_LDFLAGS=@LIB_LDFLAGS@
USING_GNU_CXX=@USING_GNU_CXX@
CXX_MT_BROKEN=@CXX_MT_BROKEN@
DEP_FLAGS=@DEP_FLAGS@
%.cpp: %.yy
@YACC@ -d -o $@ $<
if [ -f "$(<:.yy=.hpp)" ]; then mv $(<:.yy=.hpp) $(<:.yy=.h); \
elif [ -f "$(<:.yy=.cpp.h)" ]; then mv $(<:.yy=.cpp.h) $(<:.yy=.h); \
elif [ ! -f "$(<:.yy=.h)" ]; then exit 1; fi
%.cpp: %.ll
@LEX@ -o $@ $<
%.o: %.cpp
$(CXX) $(PICFLAGS) $(CXXFLAGS) $(DEP_FLAGS) $(INCLUDES) -c -o $@ $<
%@SHARED_SUFFIX@: %.cpp
$(CXX) $(CXXFLAGS) $(DEP_FLAGS) $(INCLUDES) $(LIB_LDFLAGS) -o $@ $< $(LDFLAGS)
ifeq ($(USING_GNU_CXX),yes)
ifeq ($(CXX_MT_BROKEN),yes)
@sed 's/\.o:/.@SHARED_SUFFIX@:/g' .$<.dt > .$<.dtx
@mv .$<.dtx .$<.dt
endif
-include .*.dt
endif
distrib:: distclean
%@PLUGIN_SUFFIX@: %.cpp
$(CXX) $(CXXFLAGS) @DEP_FLAGS@ $(INCLUDES) -o $@ $< $(PLUGIN_LDFLAGS) $(LDFLAGS)
ifeq ($(USING_GNU_CXX),yes)
ifeq ($(CXX_MT_BROKEN),yes)
@sed 's/\.o:/.@PLUGIN_SUFFIX@:/g' .$<.dt > .$<.dtx
@mv .$<.dtx .$<.dt
endif
-include .*.dt
endif
distclean:: clean
clean::
rm -rf .*.dt *@PLUGIN_SUFFIX@ *@SHARED_SUFFIX@ *.a *.o $(BINARY)
.PHONY: distclean clean