1 # This is the configuration file for OpenEmbedded
2 # It is a generic file for *all* architectures supported by
5 # This is a make file inclusion, to be included in all the Netpbm make
8 # This file is meant to contain variable settings that customize the
9 # build for a particular target system configuration.
11 # The distribution contains the file Makefile.config.in. You edit
12 # Makefile.config.in in ways relevant to your particular environment
13 # to create Makefile.config. The "configure" program will do this
14 # for you in simple cases.
16 # Some of the variables that the including make file must set for this
19 # SRCDIR: The directory at the top of the Netpbm source tree. Note that
20 # this is typically a relative directory, and it must be relative to the
21 # make file that includes this file.
23 DEFAULT_TARGET = merge
25 # Fiasco has some special requirements that make it fail to compile on
26 # some systems, and since it isn't very important, just set this to "N"
27 # and skip it on those systems unless you want to debug it and fix it.
32 # The following are commands for the build process to use. These values
33 # do not get built into anything.
35 # The C compiler (including macro preprocessor)
41 #If the linker identified above is a compiler that invokes a linker
42 #(as in 'cc foo.o -o foo'), set LINKERISCOMPILER. The main difference is
43 #that we expect a compiler to take linker options in the '-Wl,-opt1,val1'
44 #syntax whereas the actual linker would take '-opt1 val1'.
47 #LINKER_CAN_DO_EXPLICIT_LIBRARY means the linker specified above can
48 #take a library as just another link object argument, as in 'ld
49 #pnmtojpeg.o /usr/local/lib/libjpeg.so ...' as opposed to requiring a
50 #-l option as in 'ld pnmtojpeg.o -L/usr/local/lib -l jpeg'.
51 #This variable controls how 'libopt' gets built. Note that with some
52 #linkers, you can specify a shared library explicitly, but then it has
53 #to live in that exact place at run time. That's not good enough for us.
54 LINKER_CAN_DO_EXPLICIT_LIBRARY=Y
56 # This is the name of the header file that declares the types
57 # uint32_t, etc. This name is used as #include $(INTTYPES_H) .
58 # Set to null if the types come automatically without including anything.
59 INTTYPES_H = <inttypes.h>
61 # HAVE_INT64 tells whether, assuming you include the header indicated by
62 # INTTYPES_H, you have the int64_t type and related stuff. (If you don't
63 # the build will omit certain code that does 64 bit computations).
66 # CC and LD are for building the Netpbm programs, which are not necessarily
67 # intended to run on the same system on which Make is running. But when we
68 # build a build tool such as Libopt, it is meant to run only on the same
69 # system on which the Make is running. The variables below define programs
70 # to use to compile and link build tools.
71 CC_FOR_BUILD = $(BUILD_CC)
72 LD_FOR_BUILD = $(BUILD_CC)
74 # MAKE is set automatically by Make to what was used to invoke Make.
78 # STRIPFLAG is the option you pass to the above install program to make it
79 # strip unnecessary information out of binaries.
84 #MANPAGE_FORMAT is "nroff" or "cat". It determines in what format the
85 #pointer man pages are installed (ready to nroff, or ready to cat).
86 #A pointer man pages is just a single-paragraph pages that tells you there is
87 #no man page for the program, to look at the HTML documentation instead.
88 MANPAGE_FORMAT = nroff
92 # EXE is a suffix that the linker puts on any executable it generates.
93 # In cygwin, this is .exe and most programs deal with its existence without
94 # us having to know about it. Some don't though, so set this:
99 # Linker options for created Netpbm shared libraries.
101 # Here, $(SONAME) resolves to the soname for the shared library being created.
102 # The following are gcc options. This works on GNU libc systems.
103 LDSHLIB = -shared -fpic -Wl,-soname,$(SONAME)
105 # LDRELOC is the command to combine two .o files (relocateable object files)
106 # into a single .o file that can later be linked into something else. NONE
107 # means no such command is available.
108 LDRELOC = $(TARGET_LD) --reloc
110 # On older systems, you have to make shared libraries out of position
111 # independent code, so you need -fpic or fPIC here. (The rule is: if
112 # -fpic works, use it. If it bombs, go to fPIC). On newer systems,
113 # it isn't necessary, but can save real memory at the expense of
114 # execution speed. Without position independent code, the library
115 # loader may have to patch addresses into the executable text. On an
116 # older system, this would cause a program crash because the loader
117 # would be writing into read-only shared memory. But on newer
118 # systems, the system silently creates a private mapping of the page
119 # or segment being modified (the "copy on write" phenomenon). So it
120 # needs its own private real page frame. In one experiment, A second
121 # copy of Pbmtext used 16K less real memory when built with -fpic than
122 # when built without. 2001.06.02.
124 # We have seen -fPIC required on IA64 and AMD64 machines (GNU
125 # compiler/linker). Build-time linking fails without it. I don't
126 # know why -- history seems to be repeating itself. 2005.02.23.
130 # SHLIB_CLIB is the link option to include the C library in a shared library,
131 # normally "-lc". On typical systems, this serves no purpose. On some,
132 # though, it causes information about which C library to use to be recorded
133 # in the shared library and thus choose the correct library among several or
134 # avoid using an incompatible one. But on some systems, the link fails.
135 # On 2002.09.30, "John H. DuBois III" <spcecdt@armory.com> reports that on
136 # SCO OpenServer, he gets the following error message with -lc:
138 # -lc; relocations referenced ; from file(s) /usr/ccs/lib/libc.so(random.o);
139 # fatal error: relocations remain against allocatable but non-writable
144 # On some systems you have to build into an executable the list of
145 # directories where its dynamically linked libraries can be found at
146 # run time. This is typically done with a -R or -rpath linker
147 # option. Even on systems that don't require it, you might prefer to do
148 # that rather than set up environment variables or configuration files
149 # to tell the system where the libraries are. A "Y" here means to put
150 # the directory information in the executable at link time.
151 NEED_RUNTIME_PATH = Y
153 # RPATHOPTNAME is the option you use on the link command to specify
154 # a runtime search path for a shared library. It is meaningless unless
155 # NEED_RUNTIME_PATH is Y.
156 RPATHOPTNAME = -rpath
158 # The following variables tell where your various libraries on which
159 # Netpbm depends live. The LIBxxx variable is a full file
160 # specification of the link library (not necessarily the library used
161 # at run time). e.g. "/usr/local/lib/graphics/libpng.so". It usually
162 # doesn't matter if the library prefix and suffix are right -- you can
163 # use "lib" and ".so" or ".a" regardless of what your system actually
164 # uses because these just turn into "-L" and "-l" linker options
165 # anyway. ".a" implies a static library for some purposes, though.
166 # If you don't have the library in question, use a value of NONE for
167 # LIBxxx and the build will simply skip the programs that require that
168 # library. If the library is in your linker's (or the Netpbm build's)
169 # default search path, leave off the directory part, e.g. "libpng.so".
171 # The xxxHDR_DIR variable is the directory in which the interface
172 # headers for the library live (e.g. /usr/include). If they are in your
173 # compiler's default search path, set this variable to null.
175 # This is where the Netpbm shared libraries will reside when Netpbm is
176 # fully installed. In some configurations, the Netpbm builder builds
177 # this information into the Netpbm executables. This does NOT affect
178 # where the Netpbm installer installs the libraries. A null value
179 # means the libraries are in a default search path used by the runtime
181 NETPBMLIB_RUNTIME_PATH = $(libdir)
182 #NETPBMLIB_RUNTIME_PATH = /usr/lib/netpbm
184 # The TIFF library. See above. If you want to build the tiff
185 # converters, you must have the tiff library already installed.
190 # Some TIFF libraries do Jpeg and/or Z (flate) compression and thus any
191 # program linked with the TIFF library needs a Jpeg and/or Z library.
192 # Some TIFF libraries have such library statically linked in, but others
193 # need it to be dynamically linked at program load time.
194 # Make this 'N' if youf TIFF library doesn't need such dynamic linking.
195 # As of 2005.01, the most usual build of the TIFF library appears to require
197 TIFFLIB_NEEDS_JPEG = Y
200 # The JPEG library. See above. If you want to build the jpeg
201 # converters you must have the jpeg library already installed.
203 # Tiff files can use JPEG compression, so the Tiff library can reference
204 # the JPEG library. If your Tiff library references a dynamic JPEG
205 # library, you must specify at least JPEGLIB here, or the Tiff
206 # converters will not build. Note that your Tiff library may have the
207 # JPEG stuff statically linked in, in which case you won't need
208 # JPEGLIB in order to build the Tiff converters.
213 # The PNG library. See above. If you want to build the PNG
214 # converters you must have the PNG library already installed.
216 # The PNG library, by convention starting around April 2002, gets installed
217 # with names that include a version number, such as libpng10.a and header
218 # files in /usr/include/libpng10.
224 # The zlib compression library. See above. You need it to build
225 # anything that needs the PNG library (see above). If you selected
226 # NONE for the PNG library, it doesn't matter what you specify here --
231 # The JBIG lossless image compression library (aka JBIG-KIT):
232 JBIGLIB = $(BUILDDIR)/converter/other/jbig/libjbig.a
233 JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig
235 # The Jasper JPEG-2000 image compression library (aka JasPer):
236 JASPERLIB = $(INTERNAL_JASPERLIB)
237 JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
238 # JASPERDEPLIBS is the libraries (-l options or file names) on which
239 # The Jasper library depends -- i.e. what you have to link into any
240 # executable that links in the Jasper library.
242 #JASPERDEPLIBS = -ljpeg
244 # And the Utah Raster Toolkit (aka URT aka RLE) library:
245 URTLIB = $(BUILDDIR)/urt/librle.a
246 URTHDR_DIR = $(SRCDIR)/urt
248 # The Linux SVGA library (Svgalib) is a facility for displaying graphics
249 # on the Linux console. It is required by Ppmsvgalib.
253 # If you don't want any network functions, set OMIT_NETWORK to "y".
254 # The only thing that requires network functions is the option in
255 # ppmtompeg to run it on multiple computers simultaneously. On some
256 # systems network functions don't work or we haven't figured out how to
257 # make them work, or they just aren't worth the effort.
260 # These are -l options to link in the network libraries. Often, these are
261 # built into the standard C library, so this can be null. This is irrelevant
262 # if OMIT_NETWORK is "y".
269 # The following variables are used only by 'make install' (and the
270 # variants of it). Paths here don't, for example, get built into any
273 # This is where everything goes when you do 'make package', unless you
274 # override it by setting 'pkgdir' on the Make command line.
275 PKGDIR_DEFAULT = /tmp/netpbm
277 # File permissions for installed files.
278 # Note that on some systems (e.g. Solaris), 'install' can't use the
279 # mnemonic permissions - you have to use octal.
281 # binaries (pbmmake, etc)
282 INSTALL_PERM_BIN = 755 # u=rwx,go=rx
283 # shared libraries (libpbm.so, etc)
284 INSTALL_PERM_LIBD = 755 # u=rwx,go=rx
285 # static libraries (libpbm.a, etc)
286 INSTALL_PERM_LIBS = 644 # u=rw,go=r
287 # header files (pbm.h, etc)
288 INSTALL_PERM_HDR = 644 # u=rw,go=r
289 # man pages (pbmmake.1, etc)
290 INSTALL_PERM_MAN = 644 # u=rw,go=r
291 # data files (pnmtopalm color maps, etc)
292 INSTALL_PERM_DATA = 644 # u=rw,go=r
294 # Specify the suffix that want the man pages to have.
300 #NETPBMLIBTYPE tells the kind of libraries that will get built to hold the
301 #Netpbm library functions. The value is used only in make file tests.
302 # "unixshared" means a unix-style shared library, typically named like
304 NETPBMLIBTYPE = unixshared
305 # "unixstatic" means a unix-style static library, (like libxyz.a)
306 #NETPBMLIBTYPE = unixstatic
307 # "dll" means a Windows DLL shared library
309 # "dylib" means a Darwin/Mac OS shared library
310 #NETPBMLIBTYPE = dylib
312 #NETPBMLIBSUFFIX is the suffix used on whatever kind of library is
313 #selected above. All this is used for is to construct library names.
314 #The make files never examine the actual value.
317 # "a" is the suffix for unix-style static libraries. It is also
318 # traditionally used for shared libraries on AIX. The Visual Age C
319 # manual says sometimes .so works on AIX, and GNU software for AIX
320 # 5.1.0 does indeed use it. In our experiments, it works fine if you
321 # name the library file explicitly on the link, but isn't in the -l
322 # search order. If you name the library explicitly on the link, the
323 # library must live in exactly the same position at run time, so we
324 # can't use that. Therefore, you cannot build both static and shared
325 # libraries with AIX. You have to choose.
327 # For HP-UX shared libraries:
328 #NETPBMLIBSUFFIX = sl
329 # Darwin/Mac OS shared library:
330 #NETPBMLIBSUFFIX = dylib
331 # Windows shared library:
332 #NETPBMLIBSUFFIX = dll
334 #STATICLIB_TOO is "y" to signify that you want a static library built
335 #and installed in addition to whatever library type you specified by
336 #NETPBMLIBTYPE. If NETPBMLIBTYPE specified a static library,
337 #STATICLIB_TOO simply has no effect.
341 #STATICLIBSUFFIX is the suffix that static libraries have. It's
342 #meaningless if you aren't building static libraries.
345 #SHLIBPREFIXLIST is a blank-delimited list of prefixes that a filename
346 #of a shared library may have on this system. Traditionally, it's
347 #just "lib", as in libc or libnetpbm. On Windows, though, varying
348 #prefixes are used when multiple alternative forms of a library are
349 #available. The first prefix in this list is what we use to name the
350 #Netpbm shared libraries.
352 # This variable controls how 'libopt' gets built.
354 SHLIBPREFIXLIST = lib
356 NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST))
358 #DLLVER is used to version the DLLs built on cygwin or other
359 #windowsish platforms. We can't add this to LIBROOT, or we'd
360 #version the static libs (which is bad). We can't add this
361 #at the end of the name (like unix does with so numbers) because
362 #windows will only load dlls whose name ends in "dll". So,
363 #we have this variable, which becomes the end of the library "root" name
366 # This variable controls how 'libopt' gets built.
370 #DLLVER = $(NETPBM_MAJOR_RELEASE)
372 #NETPBM_DOCURL is the URL of the main documentation page for Netpbm.
373 #This is a directory which contains a file for each Netpbm program,
374 #library, and file type. E.g. The documentation for jpegtopnm might be in
375 #http://netpbm.sourceforge.net/doc/jpegtopnm.html . This value gets
376 #installed in the man pages (which say no more than to read the webpage)
377 #and in the Webman netpbm.url file.
378 NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
379 #For a system with no web access, but a local copy of the doc:
380 #NETPBM_DOCURL = file:/usr/doc/netpbm/