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 JUnitLogger2 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
:= JUnitLogger2.
cc
26 STATIC_SOURCES
:= ${SOURCES}
27 HEADERS
:= $(SOURCES
:.
cc=.hh
)
28 OBJECTS
:= $(SOURCES
:.
cc=.o
)
29 OBJECTS_RT2
:= $(addprefix FT
/,$(OBJECTS
))
31 SHARED_LIB
:= libjunitlogger2.so
32 SHARED_LIB_RT2
:= libjunitlogger2-rt2.so
33 SHARED_LIB_PARALLEL
:= libjunitlogger2-parallel.so
34 SHARED_LIB_PARALLEL_RT2
:= libjunitlogger2-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_ORIG
:= $(LDFLAGS
)
43 LDFLAGS
+= $(LDFLAGS_ORIG
) -g
-L
$(ABS_SRC
)/..
/..
/core
-Wl
,-soname
,$(SHARED_LIB
).
$(MAJOR
) -o
$(SHARED_LIB
).
$(MAJOR
).
$(MINOR
)
44 LDFLAGS_RT2
+= $(LDFLAGS_ORIG
) -g
-L
$(ABS_SRC
)/..
/..
/core2
-Wl
,-soname
,$(SHARED_LIB_RT2
).
$(MAJOR
) -o
$(SHARED_LIB_RT2
).
$(MAJOR
).
$(MINOR
)
45 LDFLAGS_PARALLEL
+= $(LDFLAGS_ORIG
) -g
-L
$(ABS_SRC
)/..
/..
/core
-Wl
,-soname
,$(SHARED_LIB_PARALLEL
).
$(MAJOR
) -o
$(SHARED_LIB_PARALLEL
).
$(MAJOR
).
$(MINOR
)
46 LDFLAGS_PARALLEL_RT2
+= $(LDFLAGS_ORIG
) -g
-L
$(ABS_SRC
)/..
/..
/core2
-Wl
,-soname
,$(SHARED_LIB_PARALLEL_RT2
).
$(MAJOR
) -o
$(SHARED_LIB_PARALLEL_RT2
).
$(MAJOR
).
$(MINOR
)
48 LIBS
:= -lttcn3-dynamic
49 LIBS_RT2
:= -lttcn3-rt2-dynamic
50 LIBS_PARALLEL
:= -lttcn3-parallel-dynamic
51 LIBS_PARALLEL_RT2
:= -lttcn3-rt2-parallel-dynamic
53 TARGETS
:= $(SHARED_LIB
) $(SHARED_LIB_PARALLEL
) $(SHARED_LIB_RT2
) $(SHARED_LIB_PARALLEL_RT2
)
54 # .so with .major appended:
55 TARGETS_MAJOR
:= $(addsuffix .
$(MAJOR
), $(TARGETS
))
56 # .so with .major.minor appended:
57 TARGETS_MAJOR_MINOR
:= $(addsuffix .
$(MINOR
), $(TARGETS_MAJOR
))
59 # OBJECTS_RT2, TARGETS_MAJOR and TARGETS_MAJOR_MINOR are non-standard make variables,
60 # not taken into account by "clean" in Makefile.genrules
61 # Delete them as "miscellaneous" files.
62 TOBECLEANED
:= $(OBJECTS_RT2
) $(TARGETS_MAJOR
) $(TARGETS_MAJOR_MINOR
)
66 $(SHARED_LIB
): $(OBJECTS
)
67 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) $?
$(LIBS
) -shared
68 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
71 $(SHARED_LIB_RT2
): $(OBJECTS_RT2
)
72 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) $(LDFLAGS_RT2
) $?
$(LIBS_RT2
) -shared
73 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
76 $(SHARED_LIB_PARALLEL
): $(OBJECTS
)
77 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(LDFLAGS_PARALLEL
) $?
$(LIBS_PARALLEL
) -shared
78 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
81 $(SHARED_LIB_PARALLEL_RT2
): $(OBJECTS_RT2
)
82 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) $(LDFLAGS_PARALLEL_RT2
) $?
$(LIBS_PARALLEL_RT2
) -shared
83 ln
-sf
$@.
$(MAJOR
).
$(MINOR
) $@.
$(MAJOR
)
86 $(OBJECTS
): $(SOURCES
)
87 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) -c
$?
89 # The `-o $@' stuff is necessary, otherwise the result will be put into the
91 $(OBJECTS_RT2
): $(SOURCES
)
93 $(CXX
) $(CPPFLAGS_RT2
) $(CXXFLAGS
) -c
$?
-o
$@
96 @echo Doing nothing...
98 install: $(SHARED_LIB
) $(SHARED_LIB_RT2
) $(SHARED_LIB_PARALLEL
) $(SHARED_LIB_PARALLEL_RT2
)
100 cp
$(SHARED_LIB
)* $(SHARED_LIB_RT2
)* $(SHARED_LIB_PARALLEL
)* $(SHARED_LIB_PARALLEL_RT2
)* $(LIB_DIR
)
102 include ..
/..
/Makefile.genrules