Skip to content

Commit 7b04343

Browse files
committed
- updates to makefiles for Linux
- makefiles for Cygwin - readme on how to build ModelicaXml on Linux and Cygwin git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@2825 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent aececcc commit 7b04343

File tree

5 files changed

+164
-9
lines changed

5 files changed

+164
-9
lines changed

tools/xml/modelicaxml/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
CC=gcc
22
CXX=g++
33

4-
ANTLR_HOME = /home/adrpo/dev/antlr-2.7.6
4+
ANTLR_HOME = /home/adrpo/dev/antlr-2.7.7
55

66
ANTLR_INCP = -I${ANTLR_HOME}/lib/cpp
77
ANTLR_LIBP = -L${ANTLR_HOME}/lib/cpp/src
8+
CLASSPATH = $(ANTLR_HOME)/antlr.jar
89

910
XERCESC_HOME = /home/adrpo/dev/xercesc
1011
XERCESC_INCP = -I${XERCESC_HOME}/include
1112
XERCESC_LIBP = -L${XERCESC_HOME}/lib
1213

13-
1414
PARSE_INCP = -I"./" ${ANTLR_INCP} ${XERCESC_INCP}
1515
PARSE_LIBP = -L"./" ${ANTLR_LIBP} ${XERCESC_LIBP}
1616

@@ -35,15 +35,15 @@ walkerobjs=$(walkersrcs:.cpp=.o)
3535

3636
OBJS += $(walkerobjs) $(PARSER_OBJS) $(DIRWALK_OBJS)
3737

38-
ANTLR = java -cp $(ANTLR_HOME) antlr.Tool
38+
ANTLR = java -cp $(CLASSPATH) antlr.Tool
3939

4040
all : parser main
4141

4242
parser:
4343
$(MAKE) -f Makefile_parser
4444

4545
$(walkergen): walker.g modelica_parserTokenTypes.txt
46-
java antlr.Tool $(ANTLRFLAGS) $<
46+
$(ANTLR) $(ANTLRFLAGS) $<
4747

4848
dirwalk.o: dirwalk.cpp dirwalk.h
4949

tools/xml/modelicaxml/Makefile.cygwin

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
CC=gcc
2+
CXX=g++
3+
4+
ANTLR_HOME = /home/adrpo/dev/antlr-2.7.7
5+
CLASSPATH = "c:\bin\cygwin\home\adrpo\dev\antlr-2.7.7\antlr.jar"
6+
7+
ANTLR_INCP = -I${ANTLR_HOME}/lib/cpp
8+
ANTLR_LIBP = -L${ANTLR_HOME}/lib/cpp/src
9+
10+
XERCESC_HOME = /usr
11+
XERCESC_INCP = -I${XERCESC_HOME}/include
12+
XERCESC_LIBP = -L${XERCESC_HOME}/lib
13+
14+
15+
PARSE_INCP = -I"./" ${ANTLR_INCP} ${XERCESC_INCP}
16+
PARSE_LIBP = -L"./" ${ANTLR_LIBP} ${XERCESC_LIBP}
17+
18+
INCP = $(ANTLR_INCP) $(PARSE_INCP)
19+
LIBP = $(ANTLR_LIBP) $(PARSE_LIBP)
20+
21+
CFLAGS = $(INCP) -g -Wall -DDEBUG -fpic -w -O -DAPP_NO_THREADS -DXML_USE_NO_THREADS
22+
CXXFLAGS = $(CFLAGS)
23+
LINKFLAGS = $(LIBP)
24+
25+
LIBS = -lantlr -lmodelica_parser -lxerces-c25.dll
26+
27+
DIRWALK_OBJS = dirwalk.o
28+
29+
PARSER_OBJS = modelica_parser.o modelica_lexer.o token_names.o parse_tree_dumper.o
30+
31+
walkergen= modelica_tree_parser.cpp modelica_tree_parser.hpp \
32+
modelica_tree_parserTokenTypes.hpp modelica_tree_parserTokenTypes.txt
33+
34+
walkersrcs=$(filter %.cpp,$(walkergen))
35+
walkerobjs=$(walkersrcs:.cpp=.o)
36+
37+
OBJS += $(walkerobjs) $(PARSER_OBJS) $(DIRWALK_OBJS)
38+
39+
ANTLR = java -cp $(CLASSPATH) antlr.Tool
40+
41+
all : parser main
42+
43+
parser:
44+
$(MAKE) -f Makefile_parser.cygwin
45+
46+
$(walkergen): walker.g modelica_parserTokenTypes.txt
47+
$(ANTLR) $<
48+
49+
dirwalk.o: dirwalk.cpp dirwalk.h
50+
51+
main: $(OBJS)
52+
$(CXX) ModelicaXML.cpp -o modelicaxml $(OBJS) $(LINKFLAGS) $(LIBS) ${INCP}
53+
54+
clean:
55+
rm -f modelicaxml modelicaxml.exe *.o *.obj *~ core *.core
56+
57+
reallyclean: clean
58+
rm -f $(walkergen) modelica_parserTokenTypes.txt
59+
$(MAKE) -f Makefile_parser.cygwin reallyclean
60+
61+
62+
63+

tools/xml/modelicaxml/Makefile_parser

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ CC=gcc
22
CXX=g++
33
AR=ar -r
44

5-
ANTLR_HOME=/home/adrpo/dev/antlr-2.7.6
5+
ANTLR_HOME=/home/adrpo/dev/antlr-2.7.7
66
INCLUDES=-I${ANTLR_HOME}/lib/cpp
7-
87
LIBP=-L${ANTLR_HOME}/lib/cpp/src
8+
CLASSPATH=$(ANTLR_HOME)/antlr.jar
99

1010
CFLAGS =-g -Wall $(INCLUDES) -D DEBUG
1111
CXXFLAGS = $(CFLAGS)
1212

13-
ANTLRFLAGS=-traceTreeParser
13+
#ANTLRFLAGS=-traceTreeParser
1414

1515
LIB = $(LIBP) -lantlr
1616

@@ -37,10 +37,10 @@ libmodelica_parser.a: $(OBJS)
3737
$(AR) $@ $(OBJS)
3838

3939
$(lexergen): modelica_lexer.g
40-
java antlr.Tool $(ANTLRFLAGS) $<
40+
java -cp $(CLASSPATH) antlr.Tool $(ANTLRFLAGS) $<
4141

4242
$(parsergen): modelica_parser.g modelica_lexer.g
43-
java antlr.Tool $(ANTLRFLAGS) $<
43+
java -cp $(CLASSPATH) antlr.Tool $(ANTLRFLAGS) $<
4444

4545
.c.o:
4646
$(CC) $(CFLAGS) -c $<
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
CC=gcc
2+
CXX=g++
3+
AR=ar -r
4+
5+
ANTLR_HOME=/home/adrpo/dev/antlr-2.7.7
6+
INCLUDES=-I${ANTLR_HOME}/lib/cpp
7+
LIBP=-L${ANTLR_HOME}/lib/cpp/src
8+
CLASSPATH="c:\bin\cygwin\home\adrpo\dev\antlr-2.7.7\antlr.jar"
9+
10+
CFLAGS =-g -Wall $(INCLUDES) -D DEBUG
11+
CXXFLAGS = $(CFLAGS)
12+
13+
#ANTLRFLAGS=-traceTreeParser
14+
15+
LIB = $(LIBP) -lantlr
16+
17+
18+
lexergen= modelica_lexer.cpp modelica_lexer.hpp \
19+
modelicaTokenTypes.hpp modelicaTokenTypes.txt
20+
21+
parsergen= modelica_parser.cpp modelica_parser.hpp \
22+
modelica_parserTokenTypes.hpp modelica_parserTokenTypes.txt
23+
24+
lexersrcs=$(filter %.cpp,$(lexergen))
25+
parsersrcs=$(filter %.cpp,$(parsergen))
26+
27+
lexerobjs=$(lexersrcs:.cpp=.o)
28+
parserobjs=$(parsersrcs:.cpp=.o)
29+
30+
helperobjs = token_names.o parse_tree_dumper.o
31+
32+
OBJS += $(lexerobjs) $(parserobjs) $(helperobjs)
33+
34+
all: libmodelica_parser.a
35+
36+
libmodelica_parser.a: $(OBJS)
37+
$(AR) $@ $(OBJS)
38+
39+
$(lexergen): modelica_lexer.g
40+
java -cp $(CLASSPATH) antlr.Tool $(ANTLRFLAGS) $<
41+
42+
$(parsergen): modelica_parser.g modelica_lexer.g
43+
java -cp $(CLASSPATH) antlr.Tool $(ANTLRFLAGS) $<
44+
45+
.c.o:
46+
$(CC) $(CFLAGS) -c $<
47+
48+
.cpp.o:
49+
$(CXX) $(CXXFLAGS) -c $<
50+
51+
depend: $(DFILES)
52+
53+
clean:
54+
-rm -f *.o *~ core *.core libmodelica_parser.a
55+
56+
reallyclean: clean
57+
-rm -f $(lexergen) $(parsergen)
58+
59+
modelica_lexer.o:modelica_lexer.cpp modelica_lexer.hpp
60+
modelica_parser.o:modelica_parser.cpp modelica_parser.hpp
61+
token_names.o:token_names.cpp
62+
parse_tree_dumper.o:parse_tree_dumper.cpp parse_tree_dumper.hpp
63+
#include $(DFILES)
64+

tools/xml/modelicaxml/README.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
In order to compile ModelicaXML on Linux or Cygwin you will need:
3+
4+
Antlr v2:
5+
http://www.antlr2.org/download/antlr-2.7.7.tar.gz
6+
7+
Xerces-c:
8+
http://xml.apache.org/xerces-c/
9+
Check your system, it might be that you already have it.
10+
In Cygwin is in:
11+
/usr/include/xercesc
12+
/usr/lib/xerces-c25.dll.a
13+
14+
15+
Edit the apropriate makefiles:
16+
Linux: Makefile and Makefile_parser
17+
Cygwin: Makefile.cygwin and Makefile_parser.cygwin
18+
and change ANTLR_HOME, CLASSPATH and XERCESC_HOME
19+
to point to the tools you installed above.
20+
Also change the linker libraries i.e.: -lxerces-cVERSION
21+
22+
Build ModelicaXML:
23+
Linux: make
24+
Cygwin: make -f Makefile.cygwin
25+
26+
27+
Adrian Pop [adrpo@ida.liu.se]
28+
2007-06-12

0 commit comments

Comments
 (0)