RN rnmake  3.0.0
Arch.i386.mk
Go to the documentation of this file.
1 ################################################################################
2 #
3 # Arch/Arch.i386.mk
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief RoadNarrows Make System architecture makefile.
10 
11 \par Architecture:
12 Linux (Posix) i386+ Intel compatible 32-bit.
13 
14 \par Build Host:
15 Native or cross-compile with appropriate flags.
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{2005-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_I386_MK = 1
41 
42 # This architecture (required)
43 RNMAKE_ARCH = i386
44 RNMAKE_ARCH_FQNAME = i386-linux-gnu
45 
46 
47 #------------------------------------------------------------------------------
48 # Tool Chain
49 #------------------------------------------------------------------------------
50 
51 # Architecture 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 -m32
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 CFLAGS_CODEGEN = -fPIC -m32
90 CXXFLAGS_DEBUG = -g
91 CXXFLAGS_OPTIMIZE = -O2
92 CXXFLAGS_CPP_ONLY = -E
93 CXXFLAGS = $(CFLAGS_CODEGEN) \
94  $(CXXFLAGS_DEBUG) \
95  $(CXXFLAGS_OPTIMIZE) \
96  $(CXXFLAGS_WARNING)
97 
98 
99 #------------------------------------------------------------------------------
100 # Linker and Options
101 #------------------------------------------------------------------------------
102 LD_CC = $(CC)
103 LD_CXX = $(CXX)
104 LD = $(LD_CC)
105 # -Wl,--export-dynamic
106 LDFLAGS = -m32
107 LD_LIBPATHS =
108 LD_LIBS =
109 
110 
111 #------------------------------------------------------------------------------
112 # Library Archiver/Linker and Options
113 #------------------------------------------------------------------------------
114 
115 # Static Libs
116 STLIB_LD = ${AR} cr
117 STLIB_PREFIX = lib
118 STLIB_SUFFIX = .a
119 
120 # Shared Libs
121 SHLIB_LD = $(CC) -shared -m32
122 SHLIB_PREFIX = lib
123 SHLIB_SUFFIX = .so
124 SHLIB_LD_EXTRAS =
125 SHLIB_LD_FLAGS =
126 SHLIB_LD_LIBS = ${LIBS}
127 SHLIB_CFLAGS = -fPIC
128 
129 # Dynamically Linked Libraries
130 DLLIB_LD = $(CC) -shared -m32
131 DLLIB_PREFIX = lib
132 DLLIB_SUFFIX = .so
133 DLLIB_LD_NOSTART = -nostartfiles
134 DLLIB_LD_EXTRAS =
135 DLLIB_LD_FLAGS =
136 DLLIB_LD_LIBS = ${LIBS}
137 DLLIB_CFLAGS = -fPIC
138 DLLIB_APP_CFLAGS = -rdynamic -fPIC
139 DLLIB = dl
140 
141 
142 #------------------------------------------------------------------------------
143 # System and Optional Packages
144 #------------------------------------------------------------------------------
145 
146 # Key directories
147 RNMAKE_SYS_PREFIX = /usr
148 RNMAKE_OPT_PREFIX = /opt/xinstall/$(RNMAKE_ARCH)
149 RNMAKE_SYS_ARCH_LIBDIR = $(RNMAKE_SYS_PREFIX)/lib/$(RNMAKE_ARCH_FQNAME)
150 RNMAKE_SYSFS = /sys
151 
152 # Python
153 RNMAKE_PYTHON_ENABLED = y
154 
155 # SWIG - Simplified Wrapper and Interface Generator command
156 RNMAKE_SWIG_ENABLED = y
157 SWIG_CFLAGS = $(CFLAGS_CODEGEN) \
158  -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
159 SWIG_INCLUDES =
160 SWIG_LDFLAGS =
161 
162 # OpenCV
163 RNMAKE_OPENCV_ENABLED = y
164 OPENCV_COM_LIBS = opencv_core opencv_imgproc opencv_highgui
165 
166 # PCL
167 RNMAKE_PCL_ENABLED = y
168 PCL_VER = 1.7
169 PCL_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pcl-$(PCL_VER)
170 ONI_INCDIR = $(RNMAKE_SYS_PREFIX)/include/ni
171 
172 # GTK (and related)
173 RNMAKE_GTK_ENABLED = y
174 GTK_VER = 2.0
175 GDK_VER = 2.0
176 PANGO_VER = 1.0
177 ATK_VER = 1.0
178 GTK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gtk-$(GTK_VER)
179 PANGO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pango-$(PANGO_VER)
180 CAIRO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/cairo
181 ATK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/atk-$(ATK_VER)
182 GDK_PIXBUF_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gdk-pixbuf-$(GDK_VER)
183 GTK_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/gnu/gtk-$(GTK_VER)/include
184 GTK_LIB = gtk-x11-$(GTK_VER)
185 GDK_LIB = gdk-x11-$(GDK_VER)
186 GDK_PIXBUF_LIB = gdk_pixbuf-$(GDK_VER)
187 ATK_LIB = atk-$(ATK_VER)
188 PANGO_LIBS = pango-$(PANGO_VER) \
189  pangoft2-$(PANGO_VER) \
190  pangocairo-$(PANGO_VER)
191 CAIRO_LIB = cairo
192 FONT_LIBS = freetype fontconfig
193 GOBJ_LIBS = gobject-2.0 gmodule-2.0 gthread-2.0 gio-2.0 rt
194 
195 # GStreamer
196 RNMAKE_GST_ENABLED = y
197 GST_VER = 1.0
198 GST = gstreamer-$(GST_VER)
199 GST_INCDIR = $(RNMAKE_SYS_PREFIX)/include/$(GST)
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 # X11
214 XCFLAGS = -I/usr/X11R6/include
215 XLDFLAGS =
216 XMINC =
217 XLIBPATH = -L/usr/X11R6/lib64
218 XLIB = -lSM -lICE -lX11
219 XTLIB = -lXt
220 XMLIB =
221 XEXTRALIBS =
222 
223 # Posix Thread Library:
224 PTHREADLIB = -lpthread
225 PTHREADLIB_INCPATH =
226 PTHREADLIB_LIBPATH =
227 PTHREADLIB_CPPFLAGS =
228 
229 # Zlib
230 ZLIB = -lz
231 ZLIBINCPATH =
232 ZLIBLIBPATH =
233 
234 # Jpeg
235 JPEGINCPATH =
236 JPEGLIBPATH =
237 JPEGLIB = -ljpeg
238 
239 # Tiff
240 TIFFINCPATH =
241 TIFFLIBPATH =
242 TIFFLIB = -ltiff
243 
244 # Tcl/Tk
245 TCLINCDIR =
246 TKINCDIR =
247 TCLTKLIBPATH =
248 TCLTKLIBS = -ltk -lm -ltcl -lm
249 
250 ifdef RNMAKE_DOXY
251 /*! \endcond RNMAKE_DOXY */
252 endif