RN rnmake  3.0.0
Arch.linaro.mk
Go to the documentation of this file.
1 ################################################################################
2 #
3 # Arch/Arch.linaro.mk
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief RoadNarrows Make System architecture makefile.
10 
11 \par Architecture:
12 Linux (Posix) linaro armhf.
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.linaro.mk}
24 
25 \pkgauthor{Robin Knight,robin.knight@roadnarrows.com}
26 \pkgauthor{Daniel Packard,daniel@roadnarrows.com}
27 
28 \pkgcopyright{2013-2018,RoadNarrows LLC,http://www.roadnarrows.com}
29 
30 \license{MIT}
31 
32 \EulaBegin
33 \EulaEnd
34 
35 \cond RNMAKE_DOXY
36  */
37 endif
38 #
39 ################################################################################
40 
41 _ARCH_LINARO_MK = 1
42 
43 # This architecture (required)
44 RNMAKE_ARCH = linaro
45 RNMAKE_ARCH_FQNAME = arm-linux-gnueabihf
46 
47 
48 #------------------------------------------------------------------------------
49 # Tool Chain
50 #------------------------------------------------------------------------------
51 
52 # Architecture Include Directories
53 RNMAKE_ARCH_INCDIRS =
54 
55 # Architecture specific CPP, C, and C++ Flags
56 RNMAKE_ARCH_CPPFLAGS =
57 RNMAKE_ARCH_CFLAGS =
58 RNMAKE_ARCH_CXXFLAGS =
59 
60 # Build Support Commands
61 AR = ar
62 RANLIB = ranlib
63 STRIP_LIB = strip --strip-debug
64 STRIP_EXE = strip --strip-all
65 
66 
67 #------------------------------------------------------------------------------
68 # C Compiler and Options
69 #------------------------------------------------------------------------------
70 CC = gcc
71 CFLAGS_CODEGEN = -fPIC
72 CFLAGS_DEBUG = -g
73 CFLAGS_OPTIMIZE = -O2
74 CFLAGS_WARNING = -Wall -Wconversion -Wno-implicit-int
75 CFLAGS_CPP_ONLY = -E
76 CFLAGS_DEPS_ONLY = -M
77 CFLAGS = $(CFLAGS_CODEGEN) \
78  $(CFLAGS_DEBUG) \
79  $(CFLAGS_OPTIMIZE) \
80  $(CFLAGS_WARNING)
81 
82 # Make C/CXX Dependencies Command
83 RNMAKE_MAKEDEPS = $(CC) $(CFLAGS_DEPS_ONLY)
84 
85 
86 #------------------------------------------------------------------------------
87 # C++ Compiler and Options
88 #------------------------------------------------------------------------------
89 CXX = g++
90 CFLAGS_CODEGEN = -fPIC
91 CXXFLAGS_DEBUG = -g
92 CXXFLAGS_OPTIMIZE = -O2
93 CXXFLAGS_CPP_ONLY = -E
94 CXXFLAGS = $(CFLAGS_CODEGEN) \
95  $(CXXFLAGS_DEBUG) \
96  $(CXXFLAGS_OPTIMIZE) \
97  $(CXXFLAGS_WARNING)
98 
99 
100 #------------------------------------------------------------------------------
101 # Linker and Options
102 #------------------------------------------------------------------------------
103 LD_CC = $(CC)
104 LD_CXX = $(CXX)
105 LD = $(LD_CC)
106 # -Wl,--export-dynamic
107 LDFLAGS =
108 LD_LIBPATHS =
109 LD_LIBS =
110 
111 
112 #------------------------------------------------------------------------------
113 # Library Archiver/Linker and Options
114 #------------------------------------------------------------------------------
115 
116 # Static Libs
117 STLIB_LD = ${AR} cr
118 STLIB_PREFIX = lib
119 STLIB_SUFFIX = .a
120 
121 # Shared Libs
122 SHLIB_LD = $(CC) -shared
123 SHLIB_PREFIX = lib
124 SHLIB_SUFFIX = .so
125 SHLIB_LD_EXTRAS =
126 SHLIB_LD_FLAGS =
127 SHLIB_LD_LIBS = ${LIBS}
128 SHLIB_CFLAGS = -fPIC
129 
130 # Dynamically Linked Libraries
131 DLLIB_LD = $(CC) -shared
132 DLLIB_PREFIX = lib
133 DLLIB_SUFFIX = .so
134 DLLIB_LD_NOSTART = -nostartfiles
135 DLLIB_LD_EXTRAS =
136 DLLIB_LD_FLAGS =
137 DLLIB_LD_LIBS = ${LIBS}
138 DLLIB_CFLAGS = -fPIC
139 DLLIB_APP_CFLAGS = -rdynamic -fPIC
140 DLLIB = dl
141 
142 
143 #------------------------------------------------------------------------------
144 # System and Optional Packages
145 #------------------------------------------------------------------------------
146 
147 # Key directories
148 RNMAKE_SYS_PREFIX = /usr
149 RNMAKE_OPT_PREFIX = /opt/xinstall/$(RNMAKE_ARCH)
150 RNMAKE_SYS_ARCH_LIBDIR = $(RNMAKE_SYS_PREFIX)/lib/$(RNMAKE_ARCH_FQNAME)
151 RNMAKE_SYSFS = /sys
152 
153 # Python
154 RNMAKE_PYTHON_ENABLED = y
155 
156 # SWIG - Simplified Wrapper and Interface Generator command
157 RNMAKE_SWIG_ENABLED = y
158 SWIG_CFLAGS = $(CFLAGS_CODEGEN) \
159  -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
160 SWIG_INCLUDES =
161 SWIG_LDFLAGS =
162 
163 # OpenCV
164 RNMAKE_OPENCV_ENABLED = y
165 OPENCV_COM_LIBS = opencv_core opencv_imgproc opencv_highgui
166 
167 # PCL
168 RNMAKE_PCL_ENABLED = y
169 PCL_VER = 1.7
170 PCL_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pcl-$(PCL_VER)
171 ONI_INCDIR = $(RNMAKE_SYS_PREFIX)/include/ni
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-$(GDK_VER)
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 
197 # GStreamer
198 RNMAKE_GST_ENABLED = y
199 GST_VER = 0.10
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/lib64
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