/
Makefile.in
100 lines (73 loc) · 2.18 KB
/
Makefile.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
top_builddir= ../..
builddir_bin=$(top_builddir)/build/bin
builddir_lib=$(top_builddir)/build/lib
builddir_inc=$(top_builddir)/build/include
builddir_doc=$(top_builddir)/build/doc
CC=gcc
CXX=g++
AR=ar -r
ANTLR_HOME=@antlrhome@
INCLUDES=-I@antlrinc@
LIBP=-L@antlrlib@
CFLAGS =-O3 -Wall $(INCLUDES)
CXXFLAGS = $(CFLAGS)
ANTLRFLAGS=
ANTLR = java -cp $(top_builddir)/@omc_antlr_jar@ antlr.Tool
LIB = $(LIBP) -lantlr
lexergen= modelica_lexer.cpp modelica_lexer.hpp \
modelicaTokenTypes.hpp modelicaTokenTypes.txt
parsergen= modelica_parser.cpp modelica_parser.hpp \
modelica_parserTokenTypes.hpp modelica_parserTokenTypes.txt
lexersrcs=$(filter %.cpp,$(lexergen))
parsersrcs=$(filter %.cpp,$(parsergen))
lexerobjs=$(lexersrcs:.cpp=.o)
parserobjs=$(parsersrcs:.cpp=.o)
helperobjs = token_names.o parse_tree_dumper.o
OBJS += $(lexerobjs) $(parserobjs) $(helperobjs)
all: libmodelica_parser.a
.PHONY: lexeronce parseronce
vctarget: $(lexergen) $(parsergen)
libmodelica_parser.a: $(OBJS)
$(AR) $@ $(OBJS)
lexer.stamp: modelica_lexer.g
@rm -f lexer.tmp
@touch lexer.tmp
$(ANTLR) $(ANTLRFLAGS) $<
touch $(lexergen)
@mv -f lexer.tmp $@
$(lexergen): lexer.stamp
## Recover from the removal of $@
@if test -f $@; then :; else \
rm -f lexer.stamp; \
$(MAKE) lexer.stamp; \
fi
parser.stamp: modelica_parser.g $(lexergen)
rm -f parser.tmp
touch parser.tmp
$(ANTLR) $(ANTLRFLAGS) $<
touch $(parsergen)
mv -f parser.tmp $@
$(parsergen): parser.stamp
## Recover from the removal of $@
@if test -f $@; then :; else \
rm -f parser.stamp; \
$(MAKE) parser.stamp; \
fi
.c.o:
$(CC) $(CFLAGS) -c $<
.cpp.o:
$(CXX) $(CXXFLAGS) -c $<
test: test.o libmodelica_parser.a
$(CXX) -o test test.o libmodelica_parser.a $(LIB)
depend: $(DFILES)
clean:
-rm -f *.o *~ core *.core libmodelica_parser.a
reallyclean: clean
-rm -f $(lexergen) $(parsergen)
modelica_lexer.o:modelica_lexer.cpp modelica_lexer.hpp
modelica_parser.o:modelica_parser.cpp modelica_parser.hpp ../../Compiler/runtime/errorext.h ../../Compiler/runtime/error_reporting.h
token_names.o:token_names.cpp
parse_tree_dumper.o:parse_tree_dumper.cpp parse_tree_dumper.hpp
#include $(DFILES)
Makefile: Makefile.in
cd $(top_builddir); ./config.status