1 ####This file was automatically created by 'configure.'
2 ####Many variables are set twice -- a generic setting, then
3 ####a system-specific override at the bottom of the file.
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 = nonmerge
24 #DEFAULT_TARGET = merge
26 # Fiasco has some special requirements that make it fail to compile on
27 # some systems, and since it isn't very important, just set this to "N"
28 # and skip it on those systems unless you want to debug it and fix it.
33 # The following are commands for the build process to use. These values
34 # do not get built into anything.
36 # The C compiler (including macro preprocessor)
38 # Note that 'cc' is usually an alias for whatever is the main compiler
39 # on a system, e.g. the GNU Compiler on Linux.
49 #If the linker identified above is a compiler that invokes a linker
50 #(as in 'cc foo.o -o foo'), set LINKERISCOMPILER. The main difference is
51 #that we expect a compiler to take linker options in the '-Wl,-opt1,val1'
52 #syntax whereas the actual linker would take '-opt1 val1'.
57 #LINKER_CAN_DO_EXPLICIT_LIBRARY means the linker specified above can
58 #take a library as just another link object argument, as in 'ld
59 #pnmtojpeg.o /usr/local/lib/libjpeg.so ...' as opposed to requiring a
60 #-l option as in 'ld pnmtojpeg.o -L/usr/local/lib -l jpeg'.
61 #This variable controls how 'libopt' gets built. Note that with some
62 #linkers, you can specify a shared library explicitly, but then it has
63 #to live in that exact place at run time. That's not good enough for us.
65 LINKER_CAN_DO_EXPLICIT_LIBRARY=N
67 #LINKER_CAN_DO_EXPLICIT_LIBRARY=Y
69 # This is the name of the header file that declares the types
70 # uint32_t, etc. This name is used as #include $(INTTYPES_H) .
71 # Set to null if the types come automatically without including anything.
72 INTTYPES_H = <inttypes.h>
74 #INTTYPES_H = <types.h>
76 #INTTYPES_H = <sys/inttypes.h>
78 #INTTYPES_H = <sys/stdint.h>
79 #INTTYPES_H = <sys/types.h>
80 # The automatically generated Netpbm version:
81 #INTTYPES_H = "inttypes_netpbm.h"
83 # CC and LD are for building the Netpbm programs, which are not necessarily
84 # intended to run on the same system on which Make is running. But when we
85 # build a build tool such as Libopt, it is meant to run only on the same
86 # system on which the Make is running. The variables below define programs
87 # to use to compile and link build tools.
91 # MAKE is set automatically by Make to what was used to invoke Make.
93 INSTALL = $(SRCDIR)/buildtools/install.sh
95 #INSTALL = /usr/ucb/install
99 #INSTALL = $(SRCDIR)/buildtools/installosf
103 # STRIPFLAG is the option you pass to the above install program to make it
104 # strip unnecessary information out of binaries.
106 # If you don't want to strip the binaries, just leave it null:
110 # At least some Windows environments don't have any concept of symbolic
111 # links, but direct copies are usually a passable alternative.
114 #MANPAGE_FORMAT is "nroff" or "cat". It determines in what format the
115 #pointer man pages are installed (ready to nroff, or ready to cat).
116 #A pointer man pages is just a single-paragraph pages that tells you there is
117 #no man page for the program, to look at the HTML documentation instead.
118 MANPAGE_FORMAT = nroff
119 #MANPAGE_FORMAT = cat
123 # IRIX, SCO don't have Ranlib:
128 # Or just skip parts that need Lex:
134 # -ansi and -Werror should work too, but are not included
135 # by default because there's no point in daring the build to fail.
136 # -pedantic isn't a problem because it causes at worst a warning.
137 #CFLAGS = -O3 -fast-math -pedantic \
138 # -Wall -Wno-uninitialized -Wmissing-declarations
139 # The merged programs have a main_XXX subroutine instead of main(),
140 # which would cause a warning with -Wmissing-declarations or
141 # -Wmissing-prototypes.
142 #CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
143 # A user of DEC Tru64 4.0F in May 2000 needed -DLONG_32 for ppmtompeg,
144 # but word size-sensitive code was removed from parallel.c in September 2004.
145 # A user of Tru64 5.1A in July 2003 needed NOT to have -DLONG_32. In
146 # theory, you need this if on your system, long is 32 bits and int is not.
147 # But it may be completely irrelevant today.
149 #CFLAGS = -O2 -std1 -DLONG_32
157 #Amiga with GNU compiler:
158 #CFLAGS= -m68020-60 -ffast-math -mstackextend
159 # You can add -noixemul for Amiga and successfully compile most of the
160 # programs. (Of the remaining ones, if you can supply your own strtod()
161 # function, most of them will build with -noixemul). So try building
162 # with 'make --keep-going CADD=-noixemul' first, then just 'make' to build
163 # everything that failed for lack of the ixemul library in the first step.
164 # That way, the parts that don't required the ixemul library won't indicate
165 # a dependency on it.
167 #CFLAGS = -I/usr/local/include
169 # EXE is a suffix that the linker puts on any executable it generates.
170 # In cygwin, this is .exe and most programs deal with its existence without
171 # us having to know about it. Some don't though, so set this:
174 #Cygwin, DJGPP/Windows:
179 # LDFLAGS is often set as an environment variable; A setting here overrides
180 # it. So either make sure you want to override it, or do a "LDFLAGS +=" here.
182 # Eunice users may want to use -noshare so that the executables can
186 # Russ Allberry says on 2001.06.09 that -oldstyle_liblookup may be necessary
187 # to keep from finding an ancient system libjpeg.so that isn't compatible with
188 # NetPBM. Michael Long found that /usr/local/lib is not in the default
189 # search path, or not soon enough, and he was getting an old libjpeg that
190 # caused all the jpeg symbol references to be unresolved. He had installed
191 # a new libjpeg in /usr/local/lib.
192 #LDFLAGS += -call_shared -oldstyle_liblookup -L/usr/local/lib
194 #LDFLAGS += -L /usr/pubsw/lib
196 #LDFLAGS += -Wl,+b,/usr/pubsw/lib
200 # (04.03.15 This may be a mistake. LDFLAGS may already be set to this as
201 # an environment variable. We used to override the environment variable
202 # here with LDFLAGS =, which would mean we had to override with the same
203 # value it already had. I suspect it will work fine with no LDFLAGS
204 # setting at all; need to confirm this on real FreeBSD and OpenBSD systems)
205 #LDFLAGS += -L/usr/local/lib
207 # Linker options for created Netpbm shared libraries.
209 # Here, $(SONAME) resolves to the soname for the shared library being created.
210 # The following are gcc options. This works on GNU libc systems.
211 LDSHLIB = -shared -Wl,-soname,$(SONAME)
212 # You need -nostart instead of -shared on BeOS. Though the BeOS compiler is
213 # ostensibly gcc, it has the -nostart option, which is not mentioned in gcc
214 # documentation and doesn't exist in at least one non-BeOS installation.
215 # BeOS doesn't have sonames built in.
218 # Solaris, SunOS with GNU Ld, SCO:
219 # These systems have no soname option.
221 # Solaris with Sun Ld:
222 #LDSHLIB = -Wl,-Bdynamic,-G,-h,$(SONAME)
224 #LDSHLIB = -shared -expect_unresolved "*"
226 #LDSHLIB = -shared -n32
227 #AIX GNU compiler/linker:
230 #LDSHLIB = -qmkshrobj
232 # LDRELOC is the command to combine two .o files (relocateable object files)
233 # into a single .o file that can later be linked into something else. NONE
234 # means no such command is available.
238 # Older GNU Ld misspells the option as --relocateable. Newer GNU Ld
239 # correctly spells it --relocatable. The abbreviation --reloc works on
241 #LDRELOC = ld --reloc
245 # On older systems, you have to make shared libraries out of position
246 # independent code, so you need -fpic or fPIC here. (The rule is: if
247 # -fpic works, use it. If it bombs, go to fPIC). On newer systems,
248 # it isn't necessary, but can save real memory at the expense of
249 # execution speed. Without position independent code, the library
250 # loader may have to patch addresses into the executable text. On an
251 # older system, this would cause a program crash because the loader
252 # would be writing into read-only shared memory. But on newer
253 # systems, the system silently creates a private mapping of the page
254 # or segment being modified (the "copy on write" phenomenon). So it
255 # needs its own private real page frame. In one experiment, A second
256 # copy of Pbmtext used 16K less real memory when built with -fpic than
257 # when built without. 2001.06.02.
260 # Solaris or SunOS with gcc, and NetBSD:
261 #CFLAGS_SHLIB = -fpic
262 #CFLAGS_SHLIB = -fPIC
264 #CFLAGS_SHLIB = -Kpic
265 #CFLAGS_SHLIB = -KPIC
267 # SHLIB_CLIB is the link option to include the C library in a shared library,
268 # normally "-lc". On typical systems, this serves no purpose. On some,
269 # though, it causes information about which C library to use to be recorded
270 # in the shared library and thus choose the correct library among several or
271 # avoid using an incompatible one. But on some systems, the link fails.
272 # On 2002.09.30, "John H. DuBois III" <spcecdt@armory.com> reports that on
273 # SCO OpenServer, he gets the following error message with -lc:
275 # -lc; relocations referenced ; from file(s) /usr/ccs/lib/libc.so(random.o);
276 # fatal error: relocations remain against allocatable but non-writable
283 # On some systems you have to build into an executable the list of
284 # directories where its dynamically linked libraries can be found at
285 # run time. This is typically done with a -R or -rpath linker
286 # option. Even on systems that don't require it, you might prefer to do
287 # that rather than set up environment variables or configuration files
288 # to tell the system where the libraries are. A "Y" here means to put
289 # the directory information in the executable at link time.
291 NEED_RUNTIME_PATH = N
292 # Solaris, SunOS, NetBSD, AIX:
293 #NEED_RUNTIME_PATH = Y
295 # RPATHOPTNAME is the option you use on the link command to specify
296 # a runtime search path for a shared library. It is meaningless unless
297 # NEED_RUNTIME_PATH is Y.
298 RPATHOPTNAME = -rpath
300 # The following variables tell where your various libraries on which
301 # Netpbm depends live. The LIBxxx variable is a full file
302 # specification of the link library (not necessarily the library used
303 # at run time). e.g. "/usr/local/lib/graphics/libpng.so". It usually
304 # doesn't matter if the library prefix and suffix are right -- you can
305 # use "lib" and ".so" or ".a" regardless of what your system actually
306 # uses because these just turn into "-L" and "-l" linker options
307 # anyway. ".a" implies a static library for some purposes, though.
308 # If you don't have the library in question, use a value of NONE for
309 # LIBxxx and the build will simply skip the programs that require that
310 # library. If the library is in your linker's (or the Netpbm build's)
311 # default search path, leave off the directory part, e.g. "libpng.so".
313 # The xxxHDR_DIR variable is the directory in which the interface
314 # headers for the library live (e.g. /usr/include). If they are in your
315 # compiler's default search path, set this variable to null.
317 # This is where the Netpbm shared libraries will reside when Netpbm is
318 # fully installed. In some configurations, the Netpbm builder builds
319 # this information into the Netpbm executables. This does NOT affect
320 # where the Netpbm installer installs the libraries. A null value
321 # means the libraries are in a default search path used by the runtime
323 NETPBMLIB_RUNTIME_PATH =
324 #NETPBMLIB_RUNTIME_PATH = /usr/lib/netpbm
326 # The TIFF library. See above. If you want to build the tiff
327 # converters, you must have the tiff library already installed.
332 #TIFFLIB = libtiff.so
333 #TIFFHDR_DIR = /usr/include/libtiff
335 #TIFFLIB = $(LOCALBASE)/lib/libtiff.so
336 #TIFFHDR_DIR = $(LOCALBASE)/include
338 #TIFFLIB = /usr/local1/DEC/lib/libtiff.so
339 #TIFFHDR_DIR = /usr/local1/DEC/include
341 # Some TIFF libraries do Jpeg and/or Z (flate) compression and thus any
342 # program linked with the TIFF library needs a Jpeg and/or Z library.
343 # Some TIFF libraries have such library statically linked in, but others
344 # need it to be dynamically linked at program load time.
345 # Make this 'N' if youf TIFF library doesn't need such dynamic linking.
346 # As of 2005.01, the most usual build of the TIFF library appears to require
348 TIFFLIB_NEEDS_JPEG = Y
351 # The JPEG library. See above. If you want to build the jpeg
352 # converters you must have the jpeg library already installed.
354 # Tiff files can use JPEG compression, so the Tiff library can reference
355 # the JPEG library. If your Tiff library references a dynamic JPEG
356 # library, you must specify at least JPEGLIB here, or the Tiff
357 # converters will not build. Note that your Tiff library may have the
358 # JPEG stuff statically linked in, in which case you won't need
359 # JPEGLIB in order to build the Tiff converters.
363 #JPEGLIB = libjpeg.so
364 #JPEGHDR_DIR = /usr/include/jpeg
366 #JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
367 #JPEGHDR_DIR = ${LOCALBASE}/include
369 #JPEGLIB = /usr/local1/DEC/libjpeg.so
370 #JPEGHDR_DIR = /usr/local1/DEC/include
372 #JPEGLIB = /usr/local/lib/libjpeg.so
373 #JPEGHDR_DIR = /usr/local/include
374 # Don't build JPEG stuff:
378 # The PNG library. See above. If you want to build the PNG
379 # converters you must have the PNG library already installed.
381 # The PNG library, by convention starting around April 2002, gets installed
382 # with names that include a version number, such as libpng10.a and header
383 # files in /usr/include/libpng10.
388 #PNGLIB = libpng$(PNGVER).so
389 #PNGHDR_DIR = /usr/include/libpng$(PNGVER)
391 #PNGLIB = $(LOCALBASE)/lib/libpng$(PNGVER).so
392 #PNGHDR_DIR = $(LOCALBASE)/include
394 #PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so
395 #PNGHDR_DIR = /usr/local1/DEC/include
397 # The zlib compression library. See above. You need it to build
398 # anything that needs the PNG library (see above). If you selected
399 # NONE for the PNG library, it doesn't matter what you specify here --
406 # The JBIG lossless image compression library (aka JBIG-KIT):
408 JBIGLIB = $(BUILDDIR)/converter/other/jbig/libjbig.a
409 JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig
411 # The Jasper JPEG-2000 image compression library (aka JasPer):
412 JASPERLIB = $(INTERNAL_JASPERLIB)
413 JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
415 # And the Utah Raster Toolkit (aka URT aka RLE) library:
417 URTLIB = $(BUILDDIR)/urt/librle.a
418 URTHDR_DIR = $(SRCDIR)/urt
420 # The Linux SVGA library (Svgalib) is a facility for displaying graphics
421 # on the Linux console. It is required by Ppmsvgalib.
427 #LINUXSVGAHDR_DIR = /usr/include/vgalib
429 # If you don't want any network functions, set OMIT_NETWORK to "y".
430 # The only thing that requires network functions is the option in
431 # ppmtompeg to run it on multiple computers simultaneously. On some
432 # systems network functions don't work or we haven't figured out how to
433 # make them work, or they just aren't worth the effort.
435 #DJGPP/Windows, Tru64:
436 # (there's some minor header problem that prevents network functions from
437 # building on Tru64 2000.10.06)
440 # These are -l options to link in the network libraries. Often, these are
441 # built into the standard C library, so this can be null. This is irrelevant
442 # if OMIT_NETWORK is "y".
446 #NETWORKLD = -lsocket -lnsl
448 #NETWORKLD = -lsocket, -lresolv
454 # The following variables are used only by 'make install' (and the
455 # variants of it). Paths here don't, for example, get built into any
458 # This is where everything goes when you do 'make package', unless you
459 # override it by setting 'pkgdir' on the Make command line.
460 PKGDIR_DEFAULT = /tmp/netpbm
462 # File permissions for installed files.
463 # Note that on some systems (e.g. Solaris), 'install' can't use the
464 # mnemonic permissions - you have to use octal.
466 # binaries (pbmmake, etc)
467 INSTALL_PERM_BIN = 755 # u=rwx,go=rx
468 # shared libraries (libpbm.so, etc)
469 INSTALL_PERM_LIBD = 755 # u=rwx,go=rx
470 # static libraries (libpbm.a, etc)
471 INSTALL_PERM_LIBS = 644 # u=rw,go=r
472 # header files (pbm.h, etc)
473 INSTALL_PERM_HDR = 644 # u=rw,go=r
474 # man pages (pbmmake.1, etc)
475 INSTALL_PERM_MAN = 644 # u=rw,go=r
476 # data files (pnmtopalm color maps, etc)
477 INSTALL_PERM_DATA = 644 # u=rw,go=r
479 # Specify the suffix that want the man pages to have.
485 #NETPBMLIBTYPE tells the kind of libraries that will get built to hold the
486 #Netpbm library functions. The value is used only in make file tests.
487 # "unixshared" means a unix-style shared library, typically named like
489 NETPBMLIBTYPE = unixshared
490 # "unixstatic" means a unix-style static library, (like libxyz.a)
491 #NETPBMLIBTYPE = unixstatic
492 # "dll" means a Windows DLL shared library
494 # "dylib" means a Darwin/Mac OS shared library
495 #NETPBMLIBTYPE = dylib
497 #NETPBMLIBSUFFIX is the suffix used on whatever kind of library is
498 #selected above. All this is used for is to construct library names.
499 #The make files never examine the actual value.
502 # "a" is the suffix for unix-style static libraries. It is also
503 # traditionally used for shared libraries on AIX. The Visual Age C
504 # manual says sometimes .so works on AIX, and GNU software for AIX
505 # 5.1.0 does indeed use it. In our experiments, it works fine if you
506 # name the library file explicitly on the link, but isn't in the -l
507 # search order. If you name the library explicitly on the link, the
508 # library must live in exactly the same position at run time, so we
509 # can't use that. Therefore, you cannot build both static and shared
510 # libraries with AIX. You have to choose.
512 # For HP-UX shared libraries:
513 #NETPBMLIBSUFFIX = sl
514 # Darwin/Mac OS shared library:
515 #NETPBMLIBSUFFIX = dylib
516 # Windows shared library:
517 #NETPBMLIBSUFFIX = dll
519 #STATICLIB_TOO is "y" to signify that you want a static library built
520 #and installed in addition to whatever library type you specified by
521 #NETPBMLIBTYPE. If NETPBMLIBTYPE specified a static library,
522 #STATICLIB_TOO simply has no effect.
526 #STATICLIBSUFFIX is the suffix that static libraries have. It's
527 #meaningless if you aren't building static libraries.
530 #SHLIBPREFIXLIST is a blank-delimited list of prefixes that a filename
531 #of a shared library may have on this system. Traditionally, it's
532 #just "lib", as in libc or libpbm. On Windows, though, varying
533 #prefixes are used when multiple alternative forms of a library are
534 #available. The first prefix in this list is what we use to name the
535 #Netpbm shared libraries.
537 # This variable controls how 'libopt' gets built.
539 SHLIBPREFIXLIST = lib
541 #SHLIBPREFIXLIST = cyg lib
543 NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST))
545 #DLLVER is used to version the DLLs built on cygwin or other
546 #windowsish platforms. We can't add this to LIBROOT, or we'd
547 #version the static libs (which is bad). We can't add this
548 #at the end of the name (like unix does with so numbers) because
549 #windows will only load dlls whose name ends in "dll". So,
550 #we have this variable, which becomes the end of the library "root" name
553 # This variable controls how 'libopt' gets built.
557 #DLLVER = $(NETPBM_MAJOR_RELEASE)
559 #NETPBM_DOCURL is the URL of the main documentation page for Netpbm.
560 #This is a directory which contains a file for each Netpbm program,
561 #library, and file type. E.g. The documentation for jpegtopnm might be in
562 #http://netpbm.sourceforge.net/doc/jpegtopnm.html . This value gets
563 #installed in the man pages (which say no more than to read the webpage)
564 #and in the Webman netpbm.url file.
565 NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
566 #For a system with no web access, but a local copy of the doc:
567 #NETPBM_DOCURL = file:/usr/doc/netpbm/
572 ####Lines above were copied from Makefile.config.in by 'configure'.
573 ####Lines below were added by 'configure' based on the GNU platform.
574 DEFAULT_TARGET = nonmerge
575 NETPBMLIBTYPE=unixshared
578 CFLAGS = -O3 -ffast-math -pedantic -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit -Wwrite-strings -Wmissing-prototypes
579 CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
581 LINKER_CAN_DO_EXPLICIT_LIBRARY=Y
587 NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/