1 ###############################################################################
2 # Copyright (c) 2000-2015 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
7 ###############################################################################
8 # Makefile for the JUnitLogger plugin. Unfortunately, we'll need four different
9 # libraries for each plugin... Plugin version information must be
10 # synchronized with the code.
13 include ..
/..
/Makefile.cfg
15 LIB_DIR
:= $(TTCN3_DIR
)/lib
20 SOURCES
:= JUnitLogger.
cc
21 STATIC_SOURCES
:= ${SOURCES}
22 HEADERS
:= $(SOURCES
:.
cc=.hh
)
23 OBJECTS
:= $(SOURCES
:.
cc=.o
)
24 OBJECTS_RT2
:= $(addprefix FT
/,$(OBJECTS
))
26 SHARED_LIB
:= libjunitlogger.so
27 SHARED_LIB_RT2
:= libjunitlogger-rt2.so
28 SHARED_LIB_PARALLEL
:= libjunitlogger-parallel.so
29 SHARED_LIB_PARALLEL_RT2
:= libjunitlogger-parallel-rt2.so
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
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
)
42 LIBS
:= -lttcn3-dynamic
43 LIBS_RT2
:= -lttcn3-rt2-dynamic
44 LIBS_PARALLEL
:= -lttcn3-parallel-dynamic
45 LIBS_PARALLEL_RT2
:= -lttcn3-rt2-parallel-dynamic
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
))
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
)
60 $(SHARED_LIB
): $(OBJECTS
)
61 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) $?
$(LIBS
) -shared
62 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
65 $(SHARED_LIB_RT2
): $(OBJECTS_RT2
)
66 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) $(LDFLAGS_RT2
) $?
$(LIBS_RT2
) -shared
67 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
70 $(SHARED_LIB_PARALLEL
): $(OBJECTS
)
71 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS_PARALLEL
) $?
$(LIBS_PARALLEL
) -shared
72 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
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
)
80 $(OBJECTS
): $(SOURCES
)
81 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) -c
$?
83 # The `-o $@' stuff is necessary, otherwise the result will be put into the
85 $(OBJECTS_RT2
): $(SOURCES
)
87 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) -c
$?
-o
$@
90 @echo Doing nothing...
92 install: $(SHARED_LIB
) $(SHARED_LIB_RT2
) $(SHARED_LIB_PARALLEL
) $(SHARED_LIB_PARALLEL_RT2
)
94 cp
$(SHARED_LIB
)* $(SHARED_LIB_RT2
)* $(SHARED_LIB_PARALLEL
)* $(SHARED_LIB_PARALLEL_RT2
)* $(LIB_DIR
)
96 include ..
/..
/Makefile.genrules