Commit | Line | Data |
---|---|---|
970ed795 | 1 | ############################################################################### |
3abe9331 | 2 | # Copyright (c) 2000-2015 Ericsson Telecom AB |
970ed795 EL |
3 | # All rights reserved. This program and the accompanying materials |
4 | # are made available under the terms of the Eclipse Public License v1.0 | |
5 | # which accompanies this distribution, and is available at | |
6 | # http://www.eclipse.org/legal/epl-v10.html | |
7 | ############################################################################### | |
8 | # Makefile for the TSTLogger plugin. Unfortunately, we'll need four different | |
9 | # libraries for each plugin... Plugin version information must be | |
10 | # synchronized with the code. | |
11 | ||
12 | TOP := ../.. | |
13 | include ../../Makefile.cfg | |
14 | ||
15 | LIB_DIR := $(TTCN3_DIR)/lib | |
16 | ||
17 | MAJOR := 1 | |
18 | MINOR := 0 | |
19 | ||
20 | SOURCES := TSTLogger.cc | |
21 | STATIC_SOURCES := ${SOURCES} | |
22 | HEADERS := $(SOURCES:.cc=.hh) | |
23 | OBJECTS := $(SOURCES:.cc=.o) | |
24 | OBJECTS_RT2 := $(addprefix FT/,$(OBJECTS)) | |
25 | ||
26 | SHARED_LIB := libtstlogger.so | |
27 | SHARED_LIB_RT2 := libtstlogger-rt2.so | |
28 | SHARED_LIB_PARALLEL := libtstlogger-parallel.so | |
29 | SHARED_LIB_PARALLEL_RT2 := libtstlogger-parallel-rt2.so | |
30 | ||
31 | CPPFLAGS += -I../../core -I$(ABS_SRC)/../../common -I$(ABS_SRC)/../../core | |
32 | # RT2 needs core2 (for RT2/TitanLoggerAPI.hh) in addition to core | |
33 | CPPFLAGS_RT2 := $(CPPFLAGS) -I$(ABS_SRC)/../../core2 -DTITAN_RUNTIME_2 | |
34 | ||
35 | CXXFLAGS += -Werror | |
36 | ||
37 | LDFLAGS += -g -L$(ABS_SRC)/../../core -Wl,-soname,$(SHARED_LIB).$(MAJOR) -o $(SHARED_LIB).$(MAJOR).$(MINOR) | |
38 | LDFLAGS_RT2 += -g -L$(ABS_SRC)/../../core2 -Wl,-soname,$(SHARED_LIB_RT2).$(MAJOR) -o $(SHARED_LIB_RT2).$(MAJOR).$(MINOR) | |
39 | LDFLAGS_PARALLEL += -g -L$(ABS_SRC)/../../core -Wl,-soname,$(SHARED_LIB_PARALLEL).$(MAJOR) -o $(SHARED_LIB_PARALLEL).$(MAJOR).$(MINOR) | |
40 | LDFLAGS_PARALLEL_RT2 += -g -L$(ABS_SRC)/../../core2 -Wl,-soname,$(SHARED_LIB_PARALLEL_RT2).$(MAJOR) -o $(SHARED_LIB_PARALLEL_RT2).$(MAJOR).$(MINOR) | |
41 | ||
42 | LIBS := -lttcn3-dynamic | |
43 | LIBS_RT2 := -lttcn3-rt2-dynamic | |
44 | LIBS_PARALLEL := -lttcn3-parallel-dynamic | |
45 | LIBS_PARALLEL_RT2 := -lttcn3-rt2-parallel-dynamic | |
46 | ||
47 | TARGETS := $(SHARED_LIB) $(SHARED_LIB_PARALLEL) $(SHARED_LIB_RT2) $(SHARED_LIB_PARALLEL_RT2) | |
48 | # .so with .major appended: | |
49 | TARGETS_MAJOR := $(addsuffix .$(MAJOR), $(TARGETS)) | |
50 | # .so with .major.minor appended: | |
51 | TARGETS_MAJOR_MINOR := $(addsuffix .$(MINOR), $(TARGETS_MAJOR)) | |
52 | ||
53 | # OBJECTS_RT2, TARGETS_MAJOR and TARGETS_MAJOR_MINOR are non-standard make variables, | |
54 | # not taken into account by "clean" in Makefile.genrules | |
55 | # Delete them as "miscellaneous" files. | |
56 | TOBECLEANED := $(OBJECTS_RT2) $(TARGETS_MAJOR) $(TARGETS_MAJOR_MINOR) | |
57 | ||
58 | all run: $(TARGETS) | |
59 | ||
60 | $(SHARED_LIB): $(OBJECTS) | |
61 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $? $(LIBS) -shared | |
62 | ln -sf $@.$(MAJOR).$(MINOR) $@.$(MAJOR) | |
63 | ln -sf $@.$(MAJOR) $@ | |
64 | ||
65 | $(SHARED_LIB_RT2): $(OBJECTS_RT2) | |
66 | $(CXX) $(CPPFLAGS_RT2) $(CXXFLAGS) $(LDFLAGS_RT2) $? $(LIBS_RT2) -shared | |
67 | ln -sf $@.$(MAJOR).$(MINOR) $@.$(MAJOR) | |
68 | ln -sf $@.$(MAJOR) $@ | |
69 | ||
70 | $(SHARED_LIB_PARALLEL): $(OBJECTS) | |
71 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_PARALLEL) $? $(LIBS_PARALLEL) -shared | |
72 | ln -sf $@.$(MAJOR).$(MINOR) $@.$(MAJOR) | |
73 | ln -sf $@.$(MAJOR) $@ | |
74 | ||
75 | $(SHARED_LIB_PARALLEL_RT2): $(OBJECTS_RT2) | |
76 | $(CXX) $(CPPFLAGS_RT2) $(CXXFLAGS) $(LDFLAGS_PARALLEL_RT2) $? $(LIBS_PARALLEL_RT2) -shared | |
77 | ln -sf $@.$(MAJOR).$(MINOR) $@.$(MAJOR) | |
78 | ln -sf $@.$(MAJOR) $@ | |
79 | ||
80 | $(OBJECTS): $(SOURCES) | |
81 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $? | |
82 | ||
83 | # The `-o $@' stuff is necessary, otherwise the result will be put into the | |
84 | # current directory. | |
85 | $(OBJECTS_RT2): $(SOURCES) | |
86 | mkdir -p FT | |
87 | $(CXX) $(CPPFLAGS_RT2) $(CXXFLAGS) -c $? -o $@ | |
88 | ||
89 | dep: | |
90 | @echo Doing nothing... | |
91 | ||
92 | install: $(SHARED_LIB) $(SHARED_LIB_RT2) $(SHARED_LIB_PARALLEL) $(SHARED_LIB_PARALLEL_RT2) | |
93 | mkdir -p $(LIB_DIR) | |
94 | cp $(SHARED_LIB)* $(SHARED_LIB_RT2)* $(SHARED_LIB_PARALLEL)* $(SHARED_LIB_PARALLEL_RT2)* $(LIB_DIR) | |
95 | ||
96 | include ../../Makefile.genrules |