/
Makefile
52 lines (37 loc) · 1.8 KB
/
Makefile
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
ifeq ($(OMBUILDDIR),)
OMBUILDDIR=$(CURDIR)/../build
endif
CMAKE=cmake
ifeq (MINGW,$(findstring MINGW,$(shell uname)))
CMAKE_TARGET = "MSYS Makefiles"
else
CMAKE_TARGET = "Unix Makefiles"
endif
override CXXFLAGS += -Iinstall/include/antlr4-runtime -std=c++11 -DANTLR4CPP_STATIC
override LDFLAGS +=-Linstall/lib -Bstatic -lantlr4-runtime -lstdc++ -Bdynamic -static-libgcc
CPP_FILES=modelicaBaseListener.cpp modelicaBaseVisitor.cpp modelicaLexer.cpp modelicaListener.cpp modelicaParser.cpp modelicaVisitor.cpp
H_FILES=$(patsubst %.cpp,%.h,$(CPP_FILES))
OBJS=$(patsubst %.cpp,%.o,$(CPP_FILES))
all: libomcparserantlr4.a
libomcparserantlr4.a: $(OBJS)
$(AR) -s -r $@ $(OBJS)
cp -pR $@ $(OMBUILDDIR)/lib/$(host_short)/omc/
cp -pR install/include/antlr4-runtime $(OMBUILDDIR)/include/omc/
$(OBJS): $(CPP_FILES) install/lib/libantlr4-runtime.a
3rdParty/antlr4/runtime/Cpp/build/Makefile:
(cd 3rdParty/antlr4/runtime/Cpp/build && $(CMAKE) -DCMAKE_VERBOSE_MAKEFILE:Bool=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_COLOR_MAKEFILE:Bool=OFF -DCMAKE_INSTALL_PREFIX:String=../../../../../install -DWITH_LIBCXX:Bool=OFF ../ -G $(CMAKE_TARGET))
install/lib/libantlr4-runtime.a: 3rdParty/antlr4/runtime/Cpp/CMakeLists.txt
mkdir -p 3rdParty/antlr4/runtime/Cpp/build
$(MAKE) 3rdParty/antlr4/runtime/Cpp/build/Makefile
$(MAKE) -C 3rdParty/antlr4/runtime/Cpp/build/ install
$(CPP_FILES): runtool
runtool: modelica.g4
java -cp 3rdParty/antlr4/tool/antlr-4.8-complete.jar org.antlr.v4.Tool -Dlanguage=Cpp -package openmodelica -listener -visitor modelica.g4
test: libomcparserantlr4.a
$(MAKE) -C test
clean-local:
rm -rf libomcparserantlr4.a $(OBJS) $(CPP_FILES) $(H_FILES) *.interp *.tokens
$(MAKE) -C test clean
clean-runtime:
rm -rf 3rdParty/antlr4/runtime/Cpp/build/ 3rdParty/antlr4/runtime/Cpp/dist/ install
clean: clean-local clean-runtime