RN rnmake  3.0.0
Arch.armdroid.mk
Go to the documentation of this file.
1 ################################################################################
2 #
3 # Arch/Arch.armdroid.mk
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief RoadNarrows Make System architecture makefile.
10 
11 \par Architecture:
12 Android armeabi-v7a (I.E. TI OMAP3 32-bit Gumstix processors)
13 
14 \par Build Host:
15 Cross-Compiler
16 
17 \par Tool-Chain:
18 arm-linux-androideabi-4.6-*
19 
20 \pkgsynopsis
21 RN Make System
22 
23 \pkgfile{Arch/Arch.armang.mk}
24 
25 \pkgauthor{Brent Wilkins,brent@roadnarrows.com}
26 
27 \pkgcopyright{2009-2018,RoadNarrows LLC,http://www.roadnarrows.com}
28 
29 \license{MIT}
30 
31 \EulaBegin
32 \EulaEnd
33 
34 \cond RNMAKE_DOXY
35  */
36 endif
37 #
38 ################################################################################
39 
40 _ARCH_ARM_DROID_MK = 1
41 
42 # This architecture (required)
43 RNMAKE_ARCH = armdroid
44 RNMAKE_ARCH_FQNAME = arm-android-4.6
45 
46 
47 #------------------------------------------------------------------------------
48 # Tool Chain
49 #------------------------------------------------------------------------------
50 
51 # Architecture specific include directories
52 RNMAKE_ARCH_INCDIRS = \
53  /opt/pkg/android-ndk-r8d/platforms/android-9/arch-arm/usr/include \
54  /opt/pkg/android-ndk-r8d/sources/cxx-stl/gnu-libstdc++/4.6/include
55 
56 # Architecture specific CPP, C, and C++ Flags
57 RNMAKE_ARCH_CPPFLAGS =
58 RNMAKE_ARCH_CFLAGS =
59 RNMAKE_ARCH_CXXFLAGS =
60 
61 # Cross compiler tool chain prefix
62 CROSS_COMPILE = arm-linux-androideabi-
63 
64 # Build Support Commands
65 AR = $(CROSS_COMPILE)ar
66 RANLIB = $(CROSS_COMPILE)ranlib
67 STRIP_LIB = $(CROSS_COMPILE)strip --strip-debug
68 STRIP_EXE = $(CROSS_COMPILE)strip --strip-all
69 
70 
71 #------------------------------------------------------------------------------
72 # C Compiler and Options
73 #------------------------------------------------------------------------------
74 CC = $(CROSS_COMPILE)gcc
75 CFLAGS_CODEGEN = -fPIC
76 CFLAGS_DEBUG = -g
77 CFLAGS_OPTIMIZE = -O2
78 CFLAGS_WARNING = -Wall -Wno-implicit-int
79 CFLAGS_CPP_ONLY = -E
80 CFLAGS_DEPS_ONLY = -M
81 CFLAGS = $(CFLAGS_CODEGEN) \
82  $(CFLAGS_DEBUG) \
83  $(CFLAGS_OPTIMIZE) \
84  $(CFLAGS_WARNING)
85 
86 # Make C/CXX Dependencies Command
87 RNMAKE_MAKEDEPS = $(CC) $(CFLAGS_DEPS_ONLY)
88 
89 
90 #------------------------------------------------------------------------------
91 # C++ Compiler and Options
92 #------------------------------------------------------------------------------
93 CXX = $(CROSS_COMPILE)g++
94 CFLAGS_CODEGEN = -fPIC
95 CXXFLAGS_DEBUG = -g
96 CXXFLAGS_OPTIMIZE = -O2
97 CXXFLAGS_CPP_ONLY = -E
98 CXXFLAGS = $(CFLAGS_CODEGEN) \
99  $(CXXFLAGS_DEBUG) \
100  $(CXXFLAGS_OPTIMIZE) \
101  $(CXXFLAGS_WARNING)
102 
103 
104 #------------------------------------------------------------------------------
105 # Linker and Options
106 #------------------------------------------------------------------------------
107 LD_CC = $(CC)
108 LD_CXX = $(CXX)
109 LD = $(LD_CC)
110 LDFLAGS = $(COMMON_LDFLAGS) # -Wl,--export-dynamic
111 LD_LIBPATHS =
112 LD_LIBS =
113 
114 
115 #------------------------------------------------------------------------------
116 # Library Archiver/Linker and Options
117 #------------------------------------------------------------------------------
118 
119 # Static Libs
120 STLIB_LD = ${AR} cr
121 STLIB_PREFIX = lib
122 STLIB_SUFFIX = .a
123 
124 # Shared Libs
125 SHLIB_LD = $(CC) -shared
126 SHLIB_PREFIX = lib
127 SHLIB_SUFFIX = .so
128 SHLIB_LD_EXTRAS =
129 SHLIB_LD_FLAGS = $(COMMON_LDFLAGS)
130 SHLIB_LD_LIBS = ${LIBS}
131 SHLIB_CFLAGS = -fPIC
132 
133 # Dynamically Linked Libraries
134 DLLIB_LD = $(CC) -shared
135 DLLIB_PREFIX = lib
136 DLLIB_SUFFIX = .so
137 DLLIB_LD_NOSTART = -nostartfiles
138 DLLIB_LD_EXTRAS =
139 DLLIB_LD_FLAGS = $(COMMON_LDFLAGS)
140 DLLIB_LD_LIBS = ${LIBS}
141 DLLIB_CFLAGS = -fPIC
142 DLLIB_APP_CFLAGS = -rdynamic -fPIC
143 DLLIB = dl
144 
145 
146 #------------------------------------------------------------------------------
147 # System and Optional Packages
148 #------------------------------------------------------------------------------
149 
150 # Key directories
151 RNMAKE_SYS_PREFIX = $(OE_TMP)/sysroots/armv7a-angstrom-linux-gnueabi/usr
152 RNMAKE_OPT_PREFIX = /opt/xinstall/$(RNMAKE_ARCH)
153 RNMAKE_SYS_ARCH_LIBDIR = $(RNMAKE_SYS_PREFIX)/lib
154 RNMAKE_SYSFS = /sys
155 
156 # Python
157 RNMAKE_PYTHON_ENABLED = n
158 
159 # SWIG - Simplified Wrapper and Interface Generator command
160 RNMAKE_SWIG_ENABLED = y
161 SWIG_CFLAGS = $(CFLAGS_CODEGEN) \
162  -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
163 SWIG_INCLUDES =
164 SWIG_LDFLAGS =
165 
166 # OpenCV
167 RNMAKE_OPENCV_ENABLED = y
168 OPENCV_COM_LIBS = opencv_core opencv_imgproc opencv_highgui
169 
170 # PCL
171 RNMAKE_PCL_ENABLED = n
172 
173 # GTK (and related)
174 RNMAKE_GTK_ENABLED = y
175 GTK_VER = 2.0
176 GDK_VER = 2.0
177 PANGO_VER = 1.0
178 ATK_VER = 1.0
179 GTK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gtk-$(GTK_VER)
180 PANGO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pango-$(PANGO_VER)
181 CAIRO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/cairo
182 ATK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/atk-$(ATK_VER)
183 GDK_PIXBUF_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gdk-pixbuf
184 GTK_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/gtk-$(GTK_VER)/include
185 GTK_LIB = gtk-x11-$(GTK_VER)
186 GDK_LIB = gdk-x11-$(GDK_VER)
187 GDK_PIXBUF_LIB = gdk_pixbuf-$(GDK_VER)
188 ATK_LIB = atk-$(ATK_VER)
189 PANGO_LIBS = pango-$(PANGO_VER) \
190  pangoft2-$(PANGO_VER) \
191  pangocairo-$(PANGO_VER)
192 CAIRO_LIB = cairo
193 FONT_LIBS = freetype fontconfig
194 GOBJ_LIBS = gobject-2.0 gmodule-2.0 gthread-2.0 gio-2.0 rt
195 
196 # GStreamer
197 RNMAKE_GST_ENABLED = y
198 GST_VER = 0.10
199 GST_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gstreamer-0.$(GST_VER)
200 GST_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/$(GST)/include
201 GST_LIB_IF = gstinterfaces-$(GST_VER)
202 
203 # GLib
204 RNMAKE_GLIB_ENABLED = y
205 GLIB_VER = 2.0
206 GLIB_INCDIR = $(RNMAKE_SYS_PREFIX)/include/glib-$(GLIB_VER)
207 GLIB_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/glib-$(GLIB_VER)/include
208 GLIB_LIB = glib-$(GLIB_VER)
209 
210 # XML
211 LIBXML2_INCDIR = $(RNMAKE_SYS_PREFIX)/include/libxml2
212 
213 # Posix Thread Library:
214 PTHREADLIB = -lpthread
215 PTHREADLIB_INCPATH =
216 PTHREADLIB_LIBPATH =
217 PTHREADLIB_CPPFLAGS =
218 
219 # Jpeg
220 JPEGINCPATH =
221 JPEGLIBPATH =
222 JPEGLIB = -ljpeg
223 
224 ifdef RNMAKE_DOXY
225 /*! \endcond RNMAKE_DOXY */
226 endif