RN rnmake  3.0.0
Arch.x86_64.mk
Go to the documentation of this file.
1 ################################################################################
2 #
3 # Arch/Arch.x86_64.mk
4 #
5 ifdef RNMAKE_DOXY
6 /*!
7 \file
8 
9 \brief RoadNarrows Make System architecture makefile.
10 
11 \par Architecture:
12 Linux (Posix) AMD and Intell compatible 64-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.x86_64.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_X86_64_MK = 1
41 
42 # This architecture (required)
43 RNMAKE_ARCH = x86_64
44 RNMAKE_ARCH_FQNAME = x86_64-linux-gnu
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 -m64
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 = c++
89 CXXFLAGS_CODEGEN = -fPIC -m64
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 # CUDA and Options
103 #------------------------------------------------------------------------------
104 RNMAKE_CUDA_ENABLED = y
105 CUDA = nvcc
106 CUDACFLAGS_CODEGEN =
107 CUDAFLAGS_DEBUG = -g
108 CUDAFLAGS_OPTIMIZE = -O2
109 CUDAFLAGS_CPP_ONLY = -E
110 CUDAFLAGS = $(CUDAFLAGS_CODEGEN) \
111  $(CUDAFLAGS_DEBUG) \
112  $(CUDAFLAGS_OPTIMIZE) \
113  $(CUDAFLAGS_WARNING)
114 
115 
116 #------------------------------------------------------------------------------
117 # Linker and Options
118 #------------------------------------------------------------------------------
119 LD_CC = $(CC)
120 LD_CXX = $(CXX)
121 LD_CUDA = $(CUDA)
122 LD = $(LD_CC)
123 LDFLAGS = # -Wl,--export-dynamic
124 LD_LIBPATHS =
125 LD_LIBS =
126 
127 
128 #------------------------------------------------------------------------------
129 # Library Archiver/Linker and Options
130 #------------------------------------------------------------------------------
131 
132 # Static Libraries
133 STLIB_LD = ${AR} cr
134 STLIB_PREFIX = lib
135 STLIB_SUFFIX = .a
136 
137 # Shared Libraries
138 SHLIB_LD = $(CC) -shared
139 SHLIB_PREFIX = lib
140 SHLIB_SUFFIX = .so
141 SHLIB_LD_EXTRAS =
142 SHLIB_LD_FLAGS =
143 SHLIB_LD_LIBS = ${LIBS}
144 SHLIB_CFLAGS = -fPIC
145 
146 # Dynamically Linked Libraries
147 DLLIB_LD = $(CC) -shared -m64
148 DLLIB_PREFIX = lib
149 DLLIB_SUFFIX = .so
150 DLLIB_LD_NOSTART = -nostartfiles
151 DLLIB_LD_EXTRAS =
152 DLLIB_LD_FLAGS =
153 DLLIB_LD_LIBS = ${LIBS}
154 DLLIB_CFLAGS = -fPIC
155 DLLIB_APP_CFLAGS = -rdynamic -fPIC
156 DLLIB = dl
157 
158 
159 #------------------------------------------------------------------------------
160 # System and Optional Packages
161 #------------------------------------------------------------------------------
162 
163 # Key directories
164 RNMAKE_SYS_PREFIX = /usr
165 RNMAKE_OPT_PREFIX = /opt/xinstall/$(RNMAKE_ARCH)
166 RNMAKE_SYS_ARCH_LIBDIR = $(RNMAKE_SYS_PREFIX)/lib/$(RNMAKE_ARCH_FQNAME)
167 RNMAKE_SYSFS = /sys
168 
169 # Python
170 RNMAKE_PYTHON_ENABLED = y
171 
172 # SWIG - Simplified Wrapper and Interface Generator command
173 RNMAKE_SWIG_ENABLED = y
174 SWIG_CFLAGS = $(CFLAGS_CODEGEN) \
175  -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
176 SWIG_INCLUDES =
177 SWIG_LDFLAGS =
178 
179 # OpenCV
180 RNMAKE_OPENCV_ENABLED = y
181 OPENCV_COM_LIBS = opencv_core opencv_imgproc opencv_highgui
182 
183 # PCL
184 RNMAKE_PCL_ENABLED = y
185 PCL_VER = 1.7
186 PCL_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pcl-$(PCL_VER)
187 ONI_INCDIR = $(RNMAKE_SYS_PREFIX)/include/ni
188 
189 # GTK (and related)
190 RNMAKE_GTK_ENABLED = y
191 GTK_VER = 2.0
192 GDK_VER = 2.0
193 PANGO_VER = 1.0
194 ATK_VER = 1.0
195 GTK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gtk-$(GTK_VER)
196 PANGO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/pango-$(PANGO_VER)
197 CAIRO_INCDIR = $(RNMAKE_SYS_PREFIX)/include/cairo
198 ATK_INCDIR = $(RNMAKE_SYS_PREFIX)/include/atk-$(ATK_VER)
199 GDK_PIXBUF_INCDIR = $(RNMAKE_SYS_PREFIX)/include/gdk-pixbuf-$(GDK_VER)
200 GTK_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/gtk-$(GTK_VER)/include
201 GTK_LIB = gtk-x11-$(GTK_VER)
202 GDK_LIB = gdk-x11-$(GDK_VER)
203 GDK_PIXBUF_LIB = gdk_pixbuf-$(GDK_VER)
204 ATK_LIB = atk-$(ATK_VER)
205 PANGO_LIBS = pango-$(PANGO_VER) \
206  pangoft2-$(PANGO_VER) \
207  pangocairo-$(PANGO_VER)
208 CAIRO_LIB = cairo
209 FONT_LIBS = freetype fontconfig
210 GOBJ_LIBS = gobject-2.0 gmodule-2.0 gthread-2.0 gio-2.0 rt
211 
212 # GStreamer
213 RNMAKE_GST_ENABLED = y
214 GST_VER = 1.0
215 GST = gstreamer-$(GST_VER)
216 GST_INCDIR = $(RNMAKE_SYS_PREFIX)/include/$(GST)
217 GST_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/$(GST)/include
218 GST_LIB_IF = gstinterfaces-$(GST_VER)
219 
220 # GLib
221 RNMAKE_GLIB_ENABLED = y
222 GLIB_VER = 2.0
223 GLIB_INCDIR = $(RNMAKE_SYS_PREFIX)/include/glib-$(GLIB_VER)
224 GLIB_LIB_INCDIR = $(RNMAKE_SYS_ARCH_LIBDIR)/glib-$(GLIB_VER)/include
225 GLIB_LIB = glib-$(GLIB_VER)
226 
227 # XML
228 LIBXML2_INCDIR = $(RNMAKE_SYS_PREFIX)/include/libxml2
229 
230 
231 # X11
232 RNMAKE_X11_ENABLED = y
233 XCFLAGS = -I/usr/X11R6/include
234 XLDFLAGS =
235 XMINC =
236 XLIBPATH = -L/usr/X11R6/lib64
237 XLIB = -lSM -lICE -lX11
238 XTLIB = -lXt
239 XMLIB =
240 XEXTRALIBS =
241 
242 # Posix Thread Library:
243 PTHREADLIB = -lpthread
244 PTHREADLIB_INCPATH =
245 PTHREADLIB_LIBPATH =
246 PTHREADLIB_CPPFLAGS =
247 
248 # Zlib
249 ZLIB = -lz
250 ZLIBINCPATH =
251 ZLIBLIBPATH =
252 
253 # Jpeg
254 JPEGINCPATH =
255 JPEGLIBPATH =
256 JPEGLIB = -ljpeg
257 
258 # Tiff
259 TIFFINCPATH =
260 TIFFLIBPATH =
261 TIFFLIB = -ltiff
262 
263 # Tcl/Tk
264 TCLINCDIR =
265 TKINCDIR =
266 TCLTKLIBPATH =
267 TCLTKLIBS = -ltk -lm -ltcl -lm
268 
269 
270 ifdef RNMAKE_DOXY
271 /*! \endcond RNMAKE_DOXY */
272 endif