1 #
2 # Copyright (c) 2013, Texas Instruments Incorporated
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
7 #
8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 #
11 # * Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
14 #
15 # * Neither the name of Texas Instruments Incorporated nor the names of
16 # its contributors may be used to endorse or promote products derived
17 # from this software without specific prior written permission.
18 #
19 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
29 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 #
32 ifndef QCONFIG
33 QCONFIG=qconfig.mk
34 endif
35 include $(QCONFIG)
37 INSTALLDIR=bin
39 define PINFO
40 PINFO DESCRIPTION=IPC Resource Manager
41 endef
42 NAME=ipc
44 CCOPTS += -DSYSLINK_BUILDOS_QNX -DSYSLINK_BUILD_DEBUG -DSYSLINK_BUILD_HLOS
45 USE_MEMMGR=false
46 ifeq ("$(SYSLINK_DEBUG)", "1")
47 #enable debug build
48 CCOPTS += -g -O0
49 endif # ifeq ("$(SYSLINK_DEBUG)", "1")
51 ifeq ("$(SYSLINK_PLATFORM)", "")
52 #default value
53 SYSLINK_PLATFORM=omap4430
54 endif # ifeq ("$(SYSLINK_PLATFORM)", "")
56 ifeq ("$(SYSLINK_PLATFORM)", "omap4430")
57 CCOPTS += -DSYSLINK_PLATFORM_OMAP4430 -DARM_TARGET -DC60_TARGET -DSYSLINK_USE_IPU_PM -DUSE_MEMMGR
58 USE_MEMMGR=true
59 endif # ifeq ("$(SYSLINK_PLATFORM)", "omap4430")
61 ifeq ("$(SYSLINK_PLATFORM)", "omap5430")
62 ifeq ("$(VIRTIO)", "true")
63 CCOPTS += -DOMAP5430_VIRTIO
64 endif # ifeq ("$(VIRTIO)", "true")
65 ifeq ("$(SMP)", "1")
66 CCOPTS += -DSYSLINK_SYSBIOS_SMP
67 endif # ifeq ("$(SMP)", "1")
68 CCOPTS += -DSYSLINK_PLATFORM_OMAP5430 -DARM_TARGET -DC60_TARGET -DSYSLINK_USE_IPU_PM -DUSE_MEMMGR
69 USE_MEMMGR=true
70 endif # ifeq ("$(SYSLINK_PLATFORM)", "omap5430")
72 ifeq ("$(SYSLINK_PLATFORM)", "ti81xx")
73 CCOPTS += -DSYSLINK_PLATFORM_TI81XX -DARM_TARGET -DC60_TARGET
75 ifeq ("$(SYSLINK_VARIANT)", "TI814X")
76 CCOPTS += -DSYSLINK_VARIANT_TI814X
77 endif
79 ifeq ("$(SYSLINK_VARIANT)", "TI811X")
80 CCOPTS += -DSYSLINK_VARIANT_TI811X
81 endif
83 endif # ifeq ("$(SYSLINK_PLATFORM)", "ti81xx")
85 ifeq ("$(SYSLINK_PLATFORM)", "vayu")
86 ifeq ("$(VIRTIO)", "true")
87 CCOPTS += -DVAYU_VIRTIO
88 endif # ifeq ("$(VIRTIO)", "true")
89 ifeq ("$(SMP)", "1")
90 CCOPTS += -DSYSLINK_SYSBIOS_SMP
91 endif # ifeq ("$(SMP)", "1")
92 CCOPTS += -DSYSLINK_PLATFORM_VAYU -DARM_TARGET -DC60_TARGET
93 endif # ifeq ("$(SYSLINK_PLATFORM)", "vayu")
95 #SYSLINK Product root path
96 SYSLINK_ROOT = $(PROJECT_ROOT)/../../../../..
97 SYSLINK_BUILDOS = Qnx
99 #PUBLIC_INCVPATH = $(PROJECT_ROOT)/public
101 EXTRA_INCVPATH = $(SYSLINK_ROOT) \
102 $(SYSLINK_ROOT)/ti/syslink/inc \
103 $(SYSLINK_ROOT)/ti/syslink/inc/ti/ipc \
104 $(SYSLINK_ROOT)/ti/syslink/inc/knl \
105 $(SYSLINK_ROOT)/ti/syslink/inc/$(SYSLINK_BUILDOS) \
106 $(SYSLINK_ROOT)/ti/syslink/inc/knl/$(SYSLINK_BUILDOS) \
107 $(SYSLINK_ROOT)/ti/syslink/ipc/hlos/knl/family/$(SYSLINK_PLATFORM) \
108 $(SYSLINK_PKGPATH) \
109 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/rprc \
110 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS) \
111 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/DLOAD_API \
112 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/DLOAD \
113 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/C60_DLOAD_DYN \
114 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/C60_DLOAD_REL \
115 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/TMS470_DLOAD_DYN \
116 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/TMS470_DLOAD_REL \
117 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/DLOAD_SYM \
118 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/dlw_client \
119 $(SYSLINK_ROOT)/ti/syslink/rpmsg-resmgr/hlos/knl/$(SYSLINK_BUILDOS)/family \
120 $(SYSLINK_ROOT)/tiler/usr/memmgr/public \
121 $(SYSLINK_ROOT)/tiler/resmgr/tiler/public \
122 $(SYSLINK_ROOT)/ti/syslink/resources \
123 $(IPC_REPO)/qnx/include \
124 $(IPC_REPO)/hlos_common/include \
125 $(IPC_REPO)/packages \
127 #devctl for ipc, procmgr, utils
128 EXTRA_SRCVPATH+=$(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl \
129 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/rprc \
130 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS) \
131 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/DLOAD \
132 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/TMS470_DLOAD_DYN \
133 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/TMS470_DLOAD_REL \
134 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/C60_DLOAD_REL \
135 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/C60_DLOAD_DYN \
136 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/DLOAD/DLOAD_SYM \
137 $(SYSLINK_ROOT)/ti/syslink/procMgr/hlos/knl/loaders/Elf/$(SYSLINK_BUILDOS)/dlw_client \
138 $(SYSLINK_ROOT)/ti/syslink/resources \
139 $(SYSLINK_ROOT)/ti/syslink/ipc/hlos/knl/transports/virtio \
140 $(SYSLINK_ROOT)/ti/syslink/ipc/hlos/knl \
141 $(SYSLINK_ROOT)/ti/syslink/ipc/hlos/knl/arch \
142 $(SYSLINK_ROOT)/ti/syslink/ipc/hlos/knl/arch/$(SYSLINK_PLATFORM) \
143 $(SYSLINK_ROOT)/ti/syslink/ipc/hlos/knl/$(SYSLINK_BUILDOS) \
144 $(SYSLINK_ROOT)/ti/syslink/utils/common \
145 $(SYSLINK_ROOT)/ti/syslink/utils/hlos \
146 $(SYSLINK_ROOT)/ti/syslink/utils/hlos/knl \
147 $(SYSLINK_ROOT)/ti/syslink/utils/hlos/knl/$(SYSLINK_BUILDOS) \
148 $(SYSLINK_ROOT)/ti/syslink/utils/hlos/knl/osal/$(SYSLINK_BUILDOS) \
149 $(SYSLINK_ROOT)/ti/syslink/rpmsg-omx/hlos/knl/$(SYSLINK_BUILDOS) \
150 $(SYSLINK_ROOT)/ti/syslink/rpmsg-dce/hlos/knl/$(SYSLINK_BUILDOS) \
151 $(SYSLINK_ROOT)/ti/syslink/ti-ipc \
152 $(SYSLINK_ROOT)/ti/syslink/rpmsg-rpc \
153 $(SYSLINK_ROOT)/ti/syslink/rpmsg-resmgr/hlos/knl/$(SYSLINK_BUILDOS)/family/$(SYSLINK_PLATFORM) \
154 $(SYSLINK_ROOT)/ti/syslink/rpmsg-resmgr/hlos/knl/$(SYSLINK_BUILDOS)
156 ifeq ("$(SYSLINK_PLATFORM)", "omap4430")
157 EXTRA_SRCVPATH+=$(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM) \
158 $(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM)/ipu
159 endif
161 ifeq ("$(SYSLINK_PLATFORM)", "omap5430")
162 EXTRA_SRCVPATH+=$(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM) \
163 $(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM)/ipu
164 endif
166 ifeq ("$(SYSLINK_PLATFORM)", "ti81xx")
167 EXTRA_SRCVPATH+=$(SYSLINK_ROOT)/ti/syslink/family/common \
168 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)dsp \
169 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ducati \
170 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ducati/$(SYSLINK_PLATFORM)videom3 \
171 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ducati/$(SYSLINK_PLATFORM)vpssm3 \
172 $(SYSLINK_ROOT)/ti/syslink/family/hlos/knl/$(SYSLINK_PLATFORM) \
173 $(SYSLINK_ROOT)/ti/syslink/family/hlos/knl/$(SYSLINK_PLATFORM)/Qnx \
174 $(SYSLINK_ROOT)/ti/syslink/family/hlos/knl/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)dsp \
175 $(SYSLINK_ROOT)/ti/syslink/family/hlos/knl/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ducati/$(SYSLINK_PLATFORM)videom3 \
176 $(SYSLINK_ROOT)/ti/syslink/family/hlos/knl/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ducati/$(SYSLINK_PLATFORM)vpssm3
177 endif
179 ifeq ("$(SYSLINK_PLATFORM)", "vayu")
180 EXTRA_SRCVPATH+=$(SYSLINK_ROOT)/ti/syslink/family/common \
181 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)dsp \
182 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ipu \
183 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ipu/$(SYSLINK_PLATFORM)core0 \
184 $(SYSLINK_ROOT)/ti/syslink/family/common/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ipu/$(SYSLINK_PLATFORM)core1 \
185 $(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM) \
186 $(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)dsp \
187 $(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ipu \
188 $(SYSLINK_ROOT)/ti/syslink/family/$(SYSLINK_PLATFORM)/$(SYSLINK_PLATFORM)ipu/$(SYSLINK_PLATFORM)core1
189 endif
191 ifeq ("$(USE_MEMMGR)", "false")
192 EXCLUDE_OBJS = SysLinkMemUtils.o
193 endif
195 ifeq ("$(USE_MEMMGR)", "false")
196 EXCLUDE_OBJS = SysLinkMemUtils.o
197 endif
199 include $(MKFILES_ROOT)/qtargets.mk
201 LDFLAGS += -M
203 EXTRA_LIBVPATH += $(INSTALL_ROOT_nto)/usr/lib
205 EXTRA_LIBVPATH += $(SYSLINK_ROOT)/tiler/usr/memmgr/arm/so.le.v7
207 ifeq ("$(SYSLINK_DEBUG)", "1")
208 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7
209 LIBS += utils_g
210 else
211 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.le.v7
212 LIBS += utils
213 endif # ifeq ("$(SYSLINK_DEBUG)", "1")
215 ifeq ("$(SYSLINK_PLATFORM)", "omap4430")
216 LIBS += powman camdrv login slog2
217 endif
218 ifeq ("$(USE_MEMMGR)", "true")
219 LIBS += memmgr
220 endif