RN rnmake  3.0.0
Arch.odroid.mk
Go to the documentation of this file.
1 ################################################################################
2 #
3 # Arch/Arch.odroid.mk
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief RoadNarrows Make System architecture makefile.
10 
11 \par Architecture:
12 Ubuntu 16.04+ Linux (Posix) multi-core 32-bit Arm armhf processor.
13 
14 \par Build Host:
15 Native
16 
17 \par Tool-Chain:
18 gcc
19 
20 \pkgsynopsis
21 RN Make System
22 
23 \pkgfile{Arch/Arch.i386.mk}
24 
25 \pkgauthor{Robin Knight,robin.knight@roadnarrows.com}
26 
27 \pkgcopyright{2015-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_ODROID_MK = 1
41 
42 # This architecture (required)
43 RNMAKE_ARCH = odroid
44 RNMAKE_ARCH_FQNAME = odroid-arm-linux-gnueabihf
45 
46 
47 #------------------------------------------------------------------------------
48 # Tool Chain
49 #------------------------------------------------------------------------------
50 
51 # Architecture specific include directories
52 RNMAKE_ARCH_INCDIRS =
53 
54 # Architecture specific CPP, C, and C++ Flags
55 RNMAKE_ARCH_CPPFLAGS =
56 RNMAKE_ARCH_CFLAGS =
57 RNMAKE_ARCH_CXXFLAGS =
58 
59 # Build Support Commands
60 AR = ar
61 RANLIB = ranlib
62 STRIP_LIB = strip --strip-debug
63 STRIP_EXE = strip --strip-all
64 
65 
66 #------------------------------------------------------------------------------
67 # C Compiler and Options
68 #------------------------------------------------------------------------------
69 CC = gcc
70 CFLAGS_CODEGEN = -fPIC
71 CFLAGS_DEBUG = -g
72 CFLAGS_OPTIMIZE = -O2
73 CFLAGS_WARNING = -Wall -Wconversion -Wno-implicit-int
74 CFLAGS_CPP_ONLY = -E
75 CFLAGS_DEPS_ONLY = -M
76 CFLAGS = $(CFLAGS_CODEGEN) \
77  $(CFLAGS_DEBUG) \
78  $(CFLAGS_OPTIMIZE) \
79  $(CFLAGS_WARNING)
80 
81 # Make C/CXX Dependencies Command
82 RNMAKE_MAKEDEPS = $(CC) $(CFLAGS_DEPS_ONLY)
83 
84 
85 #------------------------------------------------------------------------------
86 # C++ Compiler and Options
87 #------------------------------------------------------------------------------
88 CXX = g++
89 CXXFLAGS_CODEGEN = -fPIC
90 CXXFLAGS_STD = -std=c++11
91 CXXFLAGS_DEBUG = -g
92 CXXFLAGS_OPTIMIZE = -O2
93 CXXFLAGS_CPP_ONLY = -E
94 CXXFLAGS = $(CXXFLAGS_CODEGEN) \
95  $(CXXFLAGS_STD) \
96  $(CXXFLAGS_DEBUG) \
97  $(CXXFLAGS_OPTIMIZE) \
98  $(CXXFLAGS_WARNING)
99 
100 
101 #------------------------------------------------------------------------------
102 # Linker and Options
103 #------------------------------------------------------------------------------
104 LD_CC = $(CC)
105 LD_CXX = $(CXX)
106 LD = $(LD_CC)
107 # -Wl,--export-dynamic
108 LDFLAGS =
109 LD_LIBPATHS =
110 LD_LIBS =
111 
112 
113 #------------------------------------------------------------------------------
114 # Library Archiver/Linker and Options
115 #------------------------------------------------------------------------------
116 
117 # Static Libs
118 STLIB_LD = ${AR} cr
119 STLIB_PREFIX = lib
120 STLIB_SUFFIX = .a
121 
122 # Shared Libs
123 SHLIB_LD = $(CC) -shared
124 SHLIB_PREFIX = lib
125 SHLIB_SUFFIX = .so
126 SHLIB_LD_EXTRAS =
127 SHLIB_LD_FLAGS =
128 SHLIB_LD_LIBS = ${LIBS}
129 SHLIB_CFLAGS = -fPIC
130 
131 # Dynamically Linked Libraries
132 DLLIB_LD = $(CC) -shared
133 DLLIB_PREFIX = lib
134 DLLIB_SUFFIX = .so
135 DLLIB_LD_NOSTART = -nostartfiles
136 DLLIB_LD_EXTRAS =
137 DLLIB_LD_FLAGS =
138 DLLIB_LD_LIBS = ${LIBS}
139 DLLIB_CFLAGS = -fPIC
140 DLLIB_APP_CFLAGS = -rdynamic -fPIC
141 DLLIB = dl
142 
143 
144 #------------------------------------------------------------------------------
145 # System and Optional Packages
146 #------------------------------------------------------------------------------
147 
148 # Key directories
149 RNMAKE_SYS_PREFIX = /usr
150 RNMAKE_OPT_PREFIX = /opt/xinstall/$(RNMAKE_ARCH)
151 RNMAKE_SYS_ARCH_LIBDIR = $(RNMAKE_SYS_PREFIX)/lib/$(RNMAKE_ARCH_FQNAME)
152 RNMAKE_SYSFS = /sys
153 
154 # Python
155 RNMAKE_PYTHON_ENABLED = y
156 
157 # SWIG - Simplified Wrapper and Interface Generator command
158 RNMAKE_SWIG_ENABLED = y
159 SWIG_CFLAGS = $(CFLAGS_CODEGEN) \
160  -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
161 SWIG_INCLUDES =
162 SWIG_LDFLAGS =
163 
164 # OpenCV
165 RNMAKE_OPENCV_ENABLED = y
166 OPENCV_COM_LIBS = opencv_core opencv_imgproc opencv_highgui
167 
168 # PCL
169 RNMAKE_PCL_ENABLED = y
170 PCL_VER = 1.7
171 PCL_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pcl-$(PCL_VER)
172 ONI_INCDIR = $(RNMAKE_SYS_PREFIX)/include/ni
173 
174 # GTK (and related)
175 RNMAKE_GTK_ENABLED = y
176 GTK_VER = 2.0
177 GDK_VER = 2.0
178 PANGO_VER = 1.0
179 ATK_VER = 1.0
180 GTK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gtk-$(GTK_VER)
181 PANGO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pango-$(PANGO_VER)
182 CAIRO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/cairo
183 ATK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/atk-$(ATK_VER)
184 GDK_PIXBUF_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gdk-pixbuf-$(GDK_VER)
185 GTK_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/gtk-$(GTK_VER)/include
186 GTK_LIB = gtk-x11-$(GTK_VER)
187 GDK_LIB = gdk-x11-$(GDK_VER)
188 GDK_PIXBUF_LIB = gdk_pixbuf-$(GDK_VER)
189 ATK_LIB = atk-$(ATK_VER)
190 PANGO_LIBS = pango-$(PANGO_VER) \
191  pangoft2-$(PANGO_VER) \
192  pangocairo-$(PANGO_VER)
193 CAIRO_LIB = cairo
194 FONT_LIBS = freetype fontconfig
195 GOBJ_LIBS = gobject-2.0 gmodule-2.0 gthread-2.0 gio-2.0 rt
196 
197 # GStreamer
198 RNMAKE_GST_ENABLED = y
199 GST_VER = 1.0
200 GST = gstreamer-$(GST_VER)
201 GST_INCDIR = $(RNMAKE_SYS_PREFIX)/include/$(GST)
202 GST_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/$(GST)/include
203 GST_LIB_IF = gstinterfaces-$(GST_VER)
204 
205 # GLib
206 RNMAKE_GLIB_ENABLED = y
207 GLIB_VER = 2.0
208 GLIB_INCDIR = $(RNMAKE_SYS_PREFIX)/include/glib-$(GLIB_VER)
209 GLIB_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/glib-$(GLIB_VER)/include
210 GLIB_LIB = glib-$(GLIB_VER)
211 
212 # XML
213 LIBXML2_INCDIR = $(RNMAKE_SYS_PREFIX)/include/libxml2
214 
215 # X11
216 XCFLAGS = -I/usr/X11R6/include
217 XLDFLAGS =
218 XMINC =
219 XLIBPATH = -L/usr/X11R6/lib
220 XLIB = -lSM -lICE -lX11
221 XTLIB = -lXt
222 XMLIB =
223 XEXTRALIBS =
224 
225 # Posix Thread Library:
226 PTHREADLIB = -lpthread
227 PTHREADLIB_INCPATH =
228 PTHREADLIB_LIBPATH =
229 PTHREADLIB_CPPFLAGS =
230 
231 # Zlib
232 ZLIB = -lz
233 ZLIBINCPATH =
234 ZLIBLIBPATH =
235 
236 # Jpeg
237 JPEGINCPATH =
238 JPEGLIBPATH =
239 JPEGLIB = -ljpeg
240 
241 # Tiff
242 TIFFINCPATH =
243 TIFFLIBPATH =
244 TIFFLIB = -ltiff
245 
246 # Tcl/Tk
247 TCLINCDIR =
248 TKINCDIR =
249 TCLTKLIBPATH =
250 TCLTKLIBS = -ltk -lm -ltcl -lm
251 
252 ifdef RNMAKE_DOXY
253 /*! \endcond RNMAKE_DOXY */
254 endif