1 ##############################################################################
2 # Copyright (c) 2000-2016 Ericsson Telecom AB
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
12 ##############################################################################
13 # Makefile for the TSTLogger plugin. Unfortunately, we'll need four different
14 # libraries for each plugin... Plugin version information must be
15 # synchronized with the code.
18 include ..
/..
/Makefile.cfg
20 LIB_DIR
:= $(TTCN3_DIR
)/lib
25 SOURCES
:= TSTLogger.
cc
26 STATIC_SOURCES
:= ${SOURCES}
27 HEADERS
:= $(SOURCES
:.
cc=.hh
)
28 OBJECTS
:= $(SOURCES
:.
cc=.o
)
29 OBJECTS_RT2
:= $(addprefix FT
/,$(OBJECTS
))
31 SHARED_LIB
:= libtstlogger.so
32 SHARED_LIB_RT2
:= libtstlogger-rt2.so
33 SHARED_LIB_PARALLEL
:= libtstlogger-parallel.so
34 SHARED_LIB_PARALLEL_RT2
:= libtstlogger-parallel-rt2.so
36 CPPFLAGS
+= -I..
/..
/core
-I
$(ABS_SRC
)/..
/..
/common
-I
$(ABS_SRC
)/..
/..
/core
37 # RT2 needs core2 (for RT2/TitanLoggerAPI.hh) in addition to core
38 CPPFLAGS_RT2
:= $(CPPFLAGS
) -I
$(ABS_SRC
)/..
/..
/core2
-DTITAN_RUNTIME_2
42 LDFLAGS
+= -g
-L
$(ABS_SRC
)/..
/..
/core
-Wl
,-soname
,$(SHARED_LIB
).
$(MAJOR
) -o
$(SHARED_LIB
).
$(MAJOR
).
$(MINOR
)
43 LDFLAGS_RT2
+= -g
-L
$(ABS_SRC
)/..
/..
/core2
-Wl
,-soname
,$(SHARED_LIB_RT2
).
$(MAJOR
) -o
$(SHARED_LIB_RT2
).
$(MAJOR
).
$(MINOR
)
44 LDFLAGS_PARALLEL
+= -g
-L
$(ABS_SRC
)/..
/..
/core
-Wl
,-soname
,$(SHARED_LIB_PARALLEL
).
$(MAJOR
) -o
$(SHARED_LIB_PARALLEL
).
$(MAJOR
).
$(MINOR
)
45 LDFLAGS_PARALLEL_RT2
+= -g
-L
$(ABS_SRC
)/..
/..
/core2
-Wl
,-soname
,$(SHARED_LIB_PARALLEL_RT2
).
$(MAJOR
) -o
$(SHARED_LIB_PARALLEL_RT2
).
$(MAJOR
).
$(MINOR
)
47 LIBS
:= -lttcn3-dynamic
48 LIBS_RT2
:= -lttcn3-rt2-dynamic
49 LIBS_PARALLEL
:= -lttcn3-parallel-dynamic
50 LIBS_PARALLEL_RT2
:= -lttcn3-rt2-parallel-dynamic
52 TARGETS
:= $(SHARED_LIB
) $(SHARED_LIB_PARALLEL
) $(SHARED_LIB_RT2
) $(SHARED_LIB_PARALLEL_RT2
)
53 # .so with .major appended:
54 TARGETS_MAJOR
:= $(addsuffix .
$(MAJOR
), $(TARGETS
))
55 # .so with .major.minor appended:
56 TARGETS_MAJOR_MINOR
:= $(addsuffix .
$(MINOR
), $(TARGETS_MAJOR
))
58 # OBJECTS_RT2, TARGETS_MAJOR and TARGETS_MAJOR_MINOR are non-standard make variables,
59 # not taken into account by "clean" in Makefile.genrules
60 # Delete them as "miscellaneous" files.
61 TOBECLEANED
:= $(OBJECTS_RT2
) $(TARGETS_MAJOR
) $(TARGETS_MAJOR_MINOR
)
65 $(SHARED_LIB
): $(OBJECTS
)
66 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) $?
$(LIBS
) -shared
67 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
70 $(SHARED_LIB_RT2
): $(OBJECTS_RT2
)
71 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) $(LDFLAGS_RT2
) $?
$(LIBS_RT2
) -shared
72 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
75 $(SHARED_LIB_PARALLEL
): $(OBJECTS
)
76 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS_PARALLEL
) $?
$(LIBS_PARALLEL
) -shared
77 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
80 $(SHARED_LIB_PARALLEL_RT2
): $(OBJECTS_RT2
)
81 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) $(LDFLAGS_PARALLEL_RT2
) $?
$(LIBS_PARALLEL_RT2
) -shared
82 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
85 $(OBJECTS
): $(SOURCES
)
86 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) -c
$?
88 # The `-o $@' stuff is necessary, otherwise the result will be put into the
90 $(OBJECTS_RT2
): $(SOURCES
)
92 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) -c
$?
-o
$@
95 @echo Doing nothing...
97 install: $(SHARED_LIB
) $(SHARED_LIB_RT2
) $(SHARED_LIB_PARALLEL
) $(SHARED_LIB_PARALLEL_RT2
)
99 cp
$(SHARED_LIB
)* $(SHARED_LIB_RT2
)* $(SHARED_LIB_PARALLEL
)* $(SHARED_LIB_PARALLEL_RT2
)* $(LIB_DIR
)
101 include ..
/..
/Makefile.genrules