Fix taskmanager/client/libtskmcfg/Makefile for crossbuild environment
[staging/basesystem.git] / service / system / task_manager / client / libtskmcfg / Makefile
1 #
2 # @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 WAKESHUTCONF_DIR=./conf
18
19 VPATH = ./src ./include/$(COMPONENT_NAME)
20
21 INST_SHLIBS = libtskmcfg
22 INST_HEADERS = tskm_xml_data.h  tskm_svcid.h task_manager_libtskmcfg.h
23 libtskmcfg_SRCS = tskm_xml_data.cpp
24
25
26 CPPFLAGS += -I./ -I./include -I./../../include-share -I./../../server/include
27 LDFLAGS += -Wl,--no-as-needed
28 LDLIBS += -Wl,-Bdynamic -lNS_FrameworkUnified
29
30
31 #============ XML PARSE ============
32 XMLOUTFILE= tskm_auto_build.h
33
34 CLEAN_FILES+=$(XMLOUTFILE) $(PARSEXMLCMD) $(CONFIG_FILES) top.xml
35
36 #TOOLS
37 HOST_CPP=cpp
38 XMLCHECKER=xmllint
39 XMLCHECKEROPT=--noout --valid
40 PARSEXMLCMD=parsexml
41 HOSTCC=$(BUILD_CC)
42 HOSTCFLAGS=$(BUILD_CFLAGS)
43 HOSTLDFLAGS=$(BUILD_LDFLAGS)
44 XMLFILETOP=tskm_cfg.xml
45
46 install:install-pre install-pre-header
47 build-lib:install-pre-header
48 install-lib:install-pre install-pre-header
49 install-pre:
50         install -d -m 775  $(DESTDIR)/etc/basesystem/BS/ss/task_manager/rodata;\
51         install -m 644 -t  $(DESTDIR)/etc/basesystem/BS/ss/task_manager/rodata $(WAKESHUTCONF_DIR)/tskm_launch.xml;\
52
53 CONFIG_FILES:=tskm_wakeup.xml tskm_shutdown.xml tskm_wakeup_vup.xml tskm_shutdown_vup.xml tskm_launch.xml tskm_svcid.h agl_thread_tm.h
54
55 #install-header:$(XMLOUTFILE)
56 install-pre-header:$(XMLOUTFILE)
57
58 #TOPFILE
59 top.xml:$(XMLFILETOP)
60         ln -fs $< $@
61
62 #CONFIG RULES
63 tskm_wakeup.xml:$(WAKESHUTCONF_DIR)/tskm_wakeup.xml
64         ln -fs $< $@
65
66 tskm_shutdown.xml:$(WAKESHUTCONF_DIR)/tskm_shutdown.xml
67         ln -fs $< $@
68
69 tskm_wakeup_vup.xml:$(WAKESHUTCONF_DIR)/tskm_wakeup_vup.xml
70         ln -fs $< $@
71
72 tskm_shutdown_vup.xml:$(WAKESHUTCONF_DIR)/tskm_shutdown_vup.xml
73         ln -fs $< $@
74
75 #tskm_svcid.h:$(SVCONF_DIR)/tskm_svcid.h
76 #       ln -fs $< $@
77
78 agl_thread_tm.h:$(WAKESHUTCONF_DIR)/agl_thread_tm.h
79         ln -fs $< $@
80
81
82 tskm_launch.xml:$(WAKESHUTCONF_DIR)/tskm_launch.xml agl_thread_tm.h
83         $(HOST_CPP) -P -include agl_thread_tm.h $< > $@
84
85 $(XMLOUTFILE):top.xml $(PARSEXMLCMD) $(CONFIG_FILES)
86         $(XMLCHECKER) $(XMLCHECKEROPT) $<
87         ./$(PARSEXMLCMD) $<
88
89 $(PARSEXMLCMD):$(PARSEXMLCMD).c
90         $(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $< -lexpat
91
92 include ../../../system_service.mk