1# Copyright (C) 2001-2012 Artifex Software, Inc.
2# All Rights Reserved.
3#
4# This software is provided AS-IS with no warranty, either express or
5# implied.
6#
7# This software is distributed under license and may not be copied,
8# modified or distributed except as expressly authorized under the terms
9# of the license contained in the file LICENSE in this distribution.
10#
11# Refer to licensing information at http://www.artifex.com or contact
12# Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134, San Rafael,
13# CA  94903, U.S.A., +1(415)492-9861, for further information.
14#
15#
16#
17# Author:
18# 	Nelson H. F. Beebe
19# 	Center for Scientific Computing
20# 	University of Utah
21# 	Department of Mathematics, 322 INSCC
22# 	155 S 1400 E RM 233
23# 	Salt Lake City, UT 84112-0090
24# 	USA
25# 	Email: beebe@math.utah.edu, beebe@acm.org, beebe@ieee.org (Internet)
26# 	WWW URL: http://www.math.utah.edu/~beebe
27# 	Telephone: +1 801 581 5254
28# 	FAX: +1 801 585 1640, +1 801 581 4148
29#
30# /usr/local/src/ghostscript/gs6.0/Makefile, Sat Feb 12 09:46:16 2000
31# Edit by Nelson H. F. Beebe <beebe@math.utah.edu>
32# Update with settings of STDLIBS for several targets, because gs-6.0
33# added a reference to the POSIX threads library, which is not
34# universally available.
35# /usr/local/src/ghostscript/gs5.94/Makefile, Sun Oct  3 08:07:02 1999
36# Edit by Nelson H. F. Beebe <beebe@math.utah.edu>
37# Major update with rearrangement of target names, and addition of
38# -L/usr/local/lib everywhere.
39#=======================================================================
40# This Makefile is an interface to the UNMODIFIED unix*.mak files for
41# building gs, so as to avoid the need for customizing Makefiles for
42# multiple architectures with each new release of ghostscript.
43#
44# Usage:
45#	make <arch-name> TARGETS='...'
46#
47# or, for convenience at Utah,
48#
49#	make `hostname`
50#
51# HINT: for parallel GNU make runs, add -jnnn to TARGETS, e.g.
52#       TARGETS=-j6.
53# WARNING: this does not produce successful builds on at least SGI IRIX 6.
54#
55# Current target list:
56#	all
57#	clean
58#	mostlyclean
59#	clobber
60#	distclean
61#	maintainer-clean
62#	init
63#	install
64#	install-no-X11
65#	install-gnu-readline
66#	install-binary
67#	install-binary-gnu-readline
68#	install-fontmap
69#	install-pdfsec
70#	apple-powermac-rhapsody5.5
71#	apple-powerpc-rhapsody5.5
72#	dec-alpha-osf
73#	dec-alpha-osf-gnu-readline
74#	dec-mips-ultrix
75#	hp-parisc-hpux
76#	hp-parisc-hpux-gnu-readline
77#	ibm-rs6000-aix
78#	ibm-rs6000-aix-c89
79#	ibm-rs6000-aix-4-1-c89
80#	ibm-rs6000-aix-3-2-5-gcc
81#	ibm-rs6000-aix-gcc
82#	ibm-rs6000-aix-4.2
83#	ibm-rs6000-aix-4.2-gnu-readline
84#	ibm-rs6000-aix-4.3
85#	ibm-rs6000-aix-4.3-64bit
86#	linux
87#	linux-gnu-readline
88#	next-m68K-mach
89#	next-m68K-mach-gnu-readline
90#	next-m68K-mach-cc
91#	sgi-mips-irix5
92#	sgi-mips-irix5-gnu-readline
93#	sgi-mips-irix6.1
94#	sgi-mips-irix6.3
95#	sgi-mips-irix6.3-gnu-readline
96#	sgi-mips-irix6.4
97#	sgi-mips-irix6.4-gcc
98#	sgi-mips-irix6.4-gnu-readline
99#	sgi-mips-irix6.5
100#	sgi-mips-irix6.5-gnu-readline
101#	sgi-mips-irix6.5-64bit
102#	sun-sparc-solaris
103#	sun-sparc-solaris-64bit
104#	sun-sparc-solaris-gnu-readline
105#	sun-sparc-solaris-gcc
106#	sun-sparc-solaris-opt-gnu-readline
107#	sun-sparc-solaris-newsprint
108#	sun-sparc-solaris-pg
109#	sun-sparc-sunos-gcc
110#	sun-sparc-sunos-gcc-gnu-readline
111#
112# Machine-specific targets (for "make `hostname`"):
113## XXXXXXXX.YYYYYYYY.utah.edu
114## XXXXXXXX.YYYYYYYY.utah.edu
115## XXXXXXXX.YYYYYYYY.utah.edu
116## XXXXXXXX.YYYYYYYY.utah.edu
117## XXXXXXXX.YYYYYYYY.utah.edu
118## XXXXXXXX.YYYYYYYY.utah.edu
119## XXXXXXXX.YYYYYYYY.utah.edu
120## XXXXXXXX.YYYYYYYY.utah.edu
121## XXXXXXXX.YYYYYYYY.utah.edu
122## XXXXXXXX.YYYYYYYY.utah.edu
123## XXXXXXXX.YYYYYYYY.utah.edu
124## XXXXXXXX.YYYYYYYY.utah.edu
125#
126# [29-Apr-1999] -- update for gs-5.82: Add XLIBDIRSALL list for
127#		   install target, and add hostnames as convenience
128#		   targets, duplicating information in the
129#		   ../BUILD-GS.sh script, but allowing easier restarts
130#		   after build failures.  Update install-fontmap target
131#		   to reflect new location of installed Fontmap files.
132# [20-Mar-1999] -- update for gs-5.73.  Alphabetize most definitions.
133#		   Add more comments. Add common macros to eliminate
134#		   duplication. Set the SHARE_* variables to use
135#		   installed versions of support libraries, instead of
136#		   always having to duplicate their source trees as we
137#		   did with older releases.
138# [19-Mar-1999] -- change SGI IRIX 6.x targets to use -n32 -mips3,
139#		   since -n32 is the default when no memory model
140#		   is selected
141# [09-Feb-1999] -- add install-pdfsec target
142# [03-Nov-1998] -- update for gs-5.60 and later
143# [10-Aug-1998] -- add ibm-rs6000-aix-3-2-5-gcc and
144#		   ibm-rs6000-aix-4-1-c89 targets
145# [04-Aug-1998] -- add linux and ibm-rs6000-aix-c89 target, and
146#		   dependencies on init target so that I do not need
147#		   to remember to create the obj subdirectory manually
148# [19-Mar-1998] -- add -32 -mips2 flag to SGI IRIX 6.x targets, so that
149#		   the executables run on every SGI that can run that
150#		   O/S.  Otherwise, when building on XXXXXXXX.YYYYYYYY.utah.edu,
151#		   the compiler chooses a default of -mips4, which won't
152#		   run on Indy and R4400 machines.
153# [23-Feb-1998] -- add -jnnn hint above, and COMMON_DEVICES below
154# [28-Nov-1997]
155#=======================================================================
156
157# Definitions needed from src/*.mak files:
158DD			= $(GLD)
159GLD			= $(GLGENDIR)/
160GLGENDIR		= ./obj
161GLOBJ			= ./obj/
162AUXDIR                  = $(GLGENDIR)/aux
163AUX                     = $(AUX)/
164PSD			= $(PSGENDIR)/
165PSGENDIR		= ./obj
166
167# Definition(s) for this file:
168SRCDIR			= /usr/local/src
169
170# Define local modifications of search paths:
171TF			= /usr/local/lib/tex/fonts
172GS_LIB_DEFAULT		= $$(gsdatadir)/Resource/Init:$$(gsdatadir)/lib:$$(gsdatadir)/Resource/Font:$$(gsdatadir)/examples:$$(gsdir)/fonts:/usr/local/share/sys/fonts/postscript:$(TF)/lucida:$(TF)/mathtime:$(TF)/postscript/bakoma/pfb:$(TF)/vf
173
174# Define local paths for install targets:
175GS_SHARE_DIR		= /usr/local/share/ghostscript
176GS_SRC_DIR		= $(SRCDIR)/ghostscript
177
178# Arguments for make with cc (or other), and gcc:
179ARGS			= -f src/unixansi.mak $(COMMON_ARGS)
180
181ARGSGCC			= -f src/unix-gcc.mak $(COMMON_ARGS)
182
183COMMON_ARGS		= DEVICE_DEVS_EXTRA='$(DEVICE_DEVS_EXTRA)' \
184			  GS_LIB_DEFAULT='$(GS_LIB_DEFAULT)' \
185			  JSRCDIR='$(JSRCDIR)' \
186			  PNGSRCDIR='$(PNGSRCDIR)' \
187			  SHARE_LIBPNG='$(SHARE_LIBPNG)' \
188			  SHARE_ZLIB='$(SHARE_ZLIB)' \
189			  XCFLAGS='$(XCFLAGS)' \
190			  ZSRCDIR='$(ZSRCDIR)' \
191			  $(TARGETS)
192
193# Additional gcc-specific compilation flags
194GCFLAGS			=
195
196# Name of the installed binary executable (it will also be called gs-x.yy):
197GS			= ngs
198GS			= gs
199
200# Here is a list of additional output devices that we need to support at
201# the University of Utah Math, Physics, and INSCC installations;
202# effective with gs-5.60, Each must have a $(DD) prefix:
203DEVICE_DEVS_EXTRA	= $(DD)st800.dev $(DD)stcolor.dev
204
205# [20-Mar-1999] Set FEATURE_DEVS_EXTRA to include gnrdline.dev, to
206# support input line editing in gs when compiled with gcc.  Addition of
207# this module also requires adding EXTRALIBS='-ltermcap' for each system
208# below that uses gcc for the build.
209FEATURE_DEVS_EXTRA	= $(PSD)gnrdline.dev
210
211GNU_READLINE_ARGS	= EXTRALIBS='-ltermcap' \
212			  FEATURE_DEVS_EXTRA='$(FEATURE_DEVS_EXTRA)' \
213			  XCFLAGS='-I. -I$(JSRCDIR)'
214
215# Additions to CFLAGS for all compilers
216XCFLAGS			= -I/usr/local/include
217
218# This variable contains a list of all X library locations, for
219# use in the install target
220XLIBDIRSALL=' \
221		-L/usr/X11R6/lib \
222		-L/usr/lib/X11 \
223		-L/usr/lib/X11R5 \
224		-L/usr/openwin/lib \
225		-L/usr/lpp/X11/lib/R5 \
226		-L/usr/lpp/X11/lib \
227		-L/usr/local/$(SGIARCHLIB) \
228		-L/usr/local/X11R5/lib \
229		-L/usr/local/lib \
230		-L/usr/local/lib32 \
231'
232
233# Compilation flags and load library for SGI IRIX 6.x builds:
234SGIARCHFLAGS		= -n32 -mips3
235SGIARCHLIB		= libn32
236
237SGIARCH64FLAGS		= -64 -mips3
238SGIARCH64LIB		= lib64
239
240# [20-Mar-1999]: New from gs-5.73: use png and zlib libraries already
241# installed on the system.
242
243SHARE_LIBPNG		= 1
244SHARE_ZLIB		= 1
245
246# These are our standard paths to the library source trees
247JSRCDIR			= $(SRCDIR)/jpeg
248PNGSRCDIR		= $(SRCDIR)/libpng
249ZSRCDIR			= $(SRCDIR)/zlib
250
251# Use this to provide alternate targets to make, instead of the default
252# all.  It can also be used to pass additional arguments to child makes,
253# e.g., -j12 for 12 parallel jobs with GNU make.
254TARGETS			=
255
256#=======================================================================
257
258BINDIR			= /usr/local/bin
259
260CHMOD			= chmod
261
262CP			= /bin/cp -p
263CP			= rcp -p
264
265MV			= /bin/mv
266
267RM			= /bin/rm -f
268
269SHELL			= /bin/sh
270
271#=======================================================================
272
273all:
274	$(MAKE) $(ARGS)
275
276# Convenience targets to make standard targets available
277clean mostlyclean clobber distclean maintainer-clean:
278	$(MAKE) $(ARGS) $@
279
280init:
281	-if test ! -d obj ; then mkdir obj ; fi
282	-if test ! -d obj/aux ; then mkdir obj/aux ; fi
283
284install:	install-binary install-fontmap install-pdfsec
285
286install-no-X11:
287	$(MAKE) install \
288		FEATURE_DEVS_EXTRA= \
289		DEVICE_DEVS= \
290		SYNC=nosync \
291		STDLIBS= \
292		XLIBDIRS= \
293		XLIBDIRSALL= \
294		EXTRALIBS=
295
296install-gnu-readline:	install-binary-gnu-readline install-fontmap install-pdfsec
297
298# Remove the old gs binary first, so as to preserve the previous
299# gs-x.yy version, if any.
300install-binary:
301	-$(RM) $(BINDIR)/$(GS)
302	@$(MAKE) $(ARGS) install GS=$(GS) XLIBDIRS=$(XLIBDIRSALL) ; \
303	d=`pwd` ; \
304	d=`basename $$d` ; \
305	d=`echo $$d | sed -e s/gs/gs-/` ; \
306	$(RM) $(BINDIR)/$$d ; \
307	ln $(BINDIR)/$(GS) $(BINDIR)/$$d ; \
308	ls -l $(BINDIR)/$(GS) $(BINDIR)/$$d
309
310install-binary-gnu-readline:
311	-$(RM) $(BINDIR)/$(GS)
312	@$(MAKE) $(ARGS) install GS=$(GS)  XLIBDIRS=$(XLIBDIRSALL) $(GNU_READLINE_ARGS) ; \
313	d=`pwd` ; \
314	d=`basename $$d` ; \
315	d=`echo $$d | sed -e s/gs/gs-/` ; \
316	$(RM) $(BINDIR)/$$d ; \
317	ln $(BINDIR)/$(GS) $(BINDIR)/$$d ; \
318	ls -l $(BINDIR)/$(GS) $(BINDIR)/$$d
319
320install-fontmap:
321	@d=`pwd` ; \
322	d=`basename $$d` ; \
323	d=`echo $$d | sed -e s/gs//` ; \
324	if test -f $(GS_SRC_DIR)/Fontmap.new ; \
325	then \
326		if test -f $(GS_SHARE_DIR)/$$d/lib/Fontmap.org ; \
327		then \
328			true ; \
329		else \
330			mv $(GS_SHARE_DIR)/$$d/lib/Fontmap $(GS_SHARE_DIR)/$$d/lib/Fontmap.org ; \
331		fi ; \
332		$(CP) $(GS_SRC_DIR)/Fontmap.new $(GS_SHARE_DIR)/$$d/lib/Fontmap ; \
333		ls -l $(GS_SHARE_DIR)/$$d/lib/Fontmap* ; \
334	fi
335
336install-pdfsec:
337	@d=`pwd` ; \
338	d=`basename $$d` ; \
339	d=`echo $$d | sed -e s/gs//` ; \
340	if test -f $(GS_SRC_DIR)/lib/pdf_sec.ps ; \
341	then \
342		$(MV) $(GS_SHARE_DIR)/$$d/lib/pdf_sec.ps $(GS_SHARE_DIR)/$$d/lib/pdf_sec.ps.org ; \
343		$(CP) lib/pdf_sec.ps $(GS_SHARE_DIR)/$$d/lib/pdf_sec.ps ; \
344		$(CHMOD) 664 $(GS_SHARE_DIR)/$$d/lib/pdf_sec.ps ; \
345	fi
346
347#=======================================================================
348# Architecture-specific targets:
349#
350# NB: gcc 2.7.x produces bad code in zfont2.c:zregisterencoding(), and possibly
351# elsewhere, so we must use native compilers for now.
352
353# Apple Macintosh PowerPC running Rhapsody 5.5 (a NeXTStep 5 derivative,
354# with no X Window System support):
355apple-powermac-rhapsody5.5 apple-powerpc-rhapsody5.5:
356	$(MAKE) $(ARGSGCC) \
357		CC='gcc' \
358		GCFLAGS=$(GCFLAGS) \
359		FEATURE_DEVS_EXTRA= \
360		DEVICE_DEVS= \
361		SYNC=nosync \
362		STDLIBS= \
363		XLIBDIRS= \
364		XLIBDIRSALL= \
365		EXTRALIBS=
366	@echo "#################################################################"
367	@echo "# To install this program, in the top-level build directory, do #"
368	@echo "#         make install-no-X11                                   #"
369	@echo "#################################################################"
370
371dec-alpha-osf:	init
372	$(MAKE) $(ARGS) \
373		CC='c89 -O4 -Olimit 1500' \
374		FEATURE_DEVS_EXTRA= \
375		XINCLUDE=-I/usr/include/X11 \
376		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11'
377
378dec-alpha-osf-gnu-readline:	init
379	$(MAKE) $(ARGS) \
380		CC='c89 -O4 -Olimit 1500' \
381		XINCLUDE=-I/usr/include/X11 \
382		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11' \
383		$(GNU_READLINE_ARGS)
384
385# NB: Need -Dconst= for gcc 2.7.2 (unless gcc patch in make.doc is installed)
386dec-mips-ultrix:	init
387	$(MAKE) $(ARGSGCC) \
388		CC='gcc -Dconst= -O3' \
389		GCFLAGS=$(GCFLAGS) \
390		XINCLUDE=-I/usr/include/X11 \
391		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11' \
392		EXTRALIBS='-ltermcap'
393
394hp-parisc-hpux:	init
395	$(MAKE) $(ARGS) \
396		CC='c89 -O -D_HPUX_SOURCE +Onolimit' \
397		FEATURE_DEVS_EXTRA= \
398		STDLIBS=-lm \
399		XINCLUDE=-I/usr/include/X11R5 \
400		XLIBDIRS='-L/usr/lib/X11R5 -L/usr/local/lib' \
401		$(GLOBJ)gdevupd.o $(GLOBJ)gxclread.o
402
403	$(MAKE) $(ARGS) \
404		CC='c89 -O -D_HPUX_SOURCE' \
405		FEATURE_DEVS_EXTRA= \
406		STDLIBS=-lm \
407		XINCLUDE=-I/usr/include/X11R5 \
408		XLIBDIRS='-L/usr/lib/X11R5 -L/usr/local/lib'
409
410hp-parisc-hpux-gnu-readline:	init
411	$(MAKE) $(ARGS) \
412		CC='c89 -O -D_HPUX_SOURCE +Onolimit' \
413		STDLIBS=-lm \
414		XINCLUDE=-I/usr/include/X11R5 \
415		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11R5 -L/usr/local/lib' \
416		$(GLOBJ)gdevupd.o $(GLOBJ)gxclread.o
417
418	$(MAKE) $(ARGS) \
419		CC='c89 -O -D_HPUX_SOURCE' \
420		STDLIBS=-lm \
421		XINCLUDE=-I/usr/include/X11R5 \
422		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11R5 -L/usr/local/lib' \
423		$(GNU_READLINE_ARGS)
424
425# NB: gs3.68 executable core dumps with this compiler
426ibm-rs6000-aix:	init
427	$(MAKE) $(ARGS) \
428		CC='cc -O -D_POSIX_SOURCE' \
429		CP='cp -p' \
430		INSTALL='/usr/ucb/install -c' \
431		STDLIBS=-lm \
432		XINCLUDE=-I/usr/lpp/X11/include \
433		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib'
434
435# This works on our local AIX 3.2.5 systems: additional header files
436# and libraries are needed, because IBM does not supply the Athena
437# widgets in /usr/lpp/X11.
438ibm-rs6000-aix-c89:	init
439	$(MAKE) $(ARGS) \
440		CC='c89 -O -D_POSIX_SOURCE' \
441		CP='cp -p' \
442		INSTALL='/usr/ucb/install -c' \
443		STDLIBS=-lm \
444		XINCLUDE='-I/usr/lpp/X11/include -I/usr/local/X11R5/include' \
445		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib -L/usr/local/X11R5/lib'
446
447ibm-rs6000-aix-4-1-c89:	init
448	$(MAKE) $(ARGS) \
449		CC='c89 -O -D_POSIX_SOURCE' \
450		CP='cp -p' \
451		INSTALL='/usr/ucb/install -c' \
452		STDLIBS=-lm \
453		XINCLUDE='-I/usr/lpp/X11/include' \
454		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib'
455
456# NB: Need -Dconst= for gcc 2.7.1 (unless gcc patch in make.doc is installed)
457ibm-rs6000-aix-3-2-5-gcc:	init
458	$(MAKE) $(ARGSGCC) \
459		CC='gcc -Dconst= -O -D_POSIX_SOURCE' \
460		CP='cp -p' \
461		GCFLAGS=$(GCFLAGS) \
462		INSTALL='/usr/ucb/install -c' \
463		STDLIBS=-lm \
464		XINCLUDE='-I/usr/lpp/X11/include -I/usr/local/X11R5/include'\
465		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib -L/usr/local/X11R5/lib' \
466		EXTRALIBS='-ltermcap'
467
468# NB: Need -Dconst= for gcc 2.7.1 (unless gcc patch in make.doc is installed)
469ibm-rs6000-aix-gcc:	init
470	$(MAKE) $(ARGSGCC) \
471		CC='gcc -Dconst= -O -D_POSIX_SOURCE' \
472		CP='cp -p' \
473		GCFLAGS=$(GCFLAGS) \
474		INSTALL='/usr/ucb/install -c' \
475		STDLIBS=-lm \
476		XINCLUDE=-I/usr/lpp/X11/include \
477		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib' \
478		EXTRALIBS='-ltermcap'
479
480# gp_unix.o must be compiled outside POSIX environment to make
481# struct timeval and struct timezone visible
482ibm-rs6000-aix-4.2:	init
483	$(MAKE) $(ARGS) \
484		CC='cc -O -DMAXMEM=4096' \
485		CP='cp -p' \
486		FEATURE_DEVS_EXTRA= \
487		INSTALL='/usr/ucb/install -c' \
488		STDLIBS=-lm \
489		XINCLUDE=-I/usr/lpp/X11/include \
490		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib' \
491		$(GLOBJ)gp_unix.o
492
493	$(MAKE) $(ARGS) \
494		CC='cc -O -D_POSIX_SOURCE -DMAXMEM=4096' \
495		CP='cp -p' \
496		FEATURE_DEVS_EXTRA= \
497		INSTALL='/usr/ucb/install -c' \
498		STDLIBS=-lm \
499		XINCLUDE=-I/usr/lpp/X11/include \
500		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib'
501
502ibm-rs6000-aix-4.2-64bit:	init
503	$(MAKE) $(ARGS) \
504		CC='cc -q64 -O -DMAXMEM=4096' \
505		CP='cp -p' \
506		FEATURE_DEVS_EXTRA= \
507		INSTALL='/usr/ucb/install -c' \
508		STDLIBS=-lm \
509		XINCLUDE=-I/usr/lpp/X11/include \
510		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib' \
511		$(GLOBJ)gp_unix.o
512
513	$(MAKE) $(ARGS) \
514		CC='cc -q64 -O -D_POSIX_SOURCE -DMAXMEM=4096' \
515		CP='cp -p' \
516		FEATURE_DEVS_EXTRA= \
517		INSTALL='/usr/ucb/install -c' \
518		STDLIBS=-lm \
519		XINCLUDE=-I/usr/lpp/X11/include \
520		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib'
521
522ibm-rs6000-aix-4.2-gnu-readline:	init
523	$(MAKE) $(ARGS) \
524		CC='cc -O -DMAXMEM=4096' \
525		CP='cp -p' \
526		INSTALL='/usr/ucb/install -c' \
527		STDLIBS=-lm \
528		XINCLUDE=-I/usr/lpp/X11/include \
529		XLIBDIRS='-L/usr/local/lib -L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib' \
530		$(GLOBJ)gp_unix.o
531
532	$(MAKE) $(ARGS) \
533		CC='cc -O -D_POSIX_SOURCE -DMAXMEM=4096' \
534		CP='cp -p' \
535		INSTALL='/usr/ucb/install -c' \
536		STDLIBS=-lm \
537		XINCLUDE=-I/usr/lpp/X11/include \
538		XLIBDIRS='-L/usr/local/lib -L/usr/local/lib -L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib' \
539		$(GNU_READLINE_ARGS)
540
541ibm-rs6000-aix-4.3:	init
542	$(MAKE) $(ARGS) \
543		CC='cc -O -D_ALL_SOURCE -DMAXMEM=4096 -Dconst=' \
544		CP='cp -p' \
545		FEATURE_DEVS_EXTRA= \
546		INSTALL='/usr/ucb/install -c' \
547		STDLIBS=-lm \
548		XINCLUDE=-I/usr/lpp/X11/include \
549		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R6 -L/usr/lpp/X11/lib'
550
551ibm-rs6000-aix-4.3-64bit:	init
552	$(MAKE) $(ARGS) \
553		CC='cc -q64 -O -D_ALL_SOURCE -DMAXMEM=4096 -Dconst=' \
554		CP='cp -p' \
555		FEATURE_DEVS_EXTRA= \
556		INSTALL='/usr/ucb/install -c' \
557		STDLIBS=-lm \
558		XINCLUDE=-I/usr/lpp/X11/include \
559		XLIBDIRS='-L/usr/local/lib -L/usr/lpp/X11/lib/R6 -L/usr/lpp/X11/lib'
560
561linux:	init
562	$(MAKE) $(ARGSGCC) \
563		CC='gcc' \
564		GCFLAGS=$(GCFLAGS) \
565		FEATURE_DEVS_EXTRA= \
566		XINCLUDE=-I/usr/X11R6/include \
567		XLIBDIRS='-L/usr/local/lib -L/usr/X11R6/lib' \
568		EXTRALIBS='-ltermcap'
569
570linux-gnu-readline:	init
571	$(MAKE) $(ARGSGCC) \
572		CC='gcc' \
573		GCFLAGS=$(GCFLAGS) \
574		XINCLUDE=-I/usr/X11R6/include \
575		XLIBDIRS='-L/usr/local/lib -L/usr/X11R6/lib' \
576		EXTRALIBS='-ltermcap' \
577		$(GNU_READLINE_ARGS)
578
579next-m68K-mach:	init
580	$(MAKE) $(ARGS) \
581		CC='gcc -Dconst= -O3 -D_POSIX_SOURCE' \
582		FEATURE_DEVS_EXTRA= \
583		GCFLAGS=$(GCFLAGS) \
584		STDLIBS=-lm \
585		XINCLUDE=-I/usr/local/X11R5/include \
586		XLIBDIRS='-L/usr/local/lib -L/usr/local/X11R5/lib' \
587		INCLUDE=/usr/include/bsd \
588		EXTRALIBS='-ltermcap'
589
590next-m68K-mach-gnu-readline:	init
591	$(MAKE) $(ARGS) \
592		CC='gcc -Dconst= -O3 -D_POSIX_SOURCE' \
593		GCFLAGS=$(GCFLAGS) \
594		STDLIBS=-lm \
595		XINCLUDE=-I/usr/local/X11R5/include \
596		XLIBDIRS='-L/usr/local/lib -L/usr/local/X11R5/lib' \
597		INCLUDE=/usr/include/bsd \
598		$(GNU_READLINE_ARGS)
599
600next-m68K-mach-cc:	init
601	$(MAKE) $(ARGS) \
602		CC='cc -Dconst= -O3 -D_POSIX_SOURCE' \
603		STDLIBS=-lm \
604		XINCLUDE=-I/usr/local/X11R5/include \
605		XLIBDIRS='-L/usr/local/lib -L/usr/local/X11R5/lib' \
606		INCLUDE=/usr/include/bsd
607
608# NB: Need the -Dxxx settings to get certain system types defined for
609# at least gp_unifs.c and zdevcal.c
610sgi-mips-irix5:	init
611	$(MAKE) $(ARGS) \
612		CC='cc -D_POSIX_4SOURCE -woff 608' \
613		FEATURE_DEVS_EXTRA= \
614		XINCLUDE=-I/usr/include/X11 \
615		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
616		$(GLOBJ)gdevpdf.o \
617		$(GLOBJ)gdevps.o \
618		$(GLOBJ)gdevtifs.o \
619		$(GLOBJ)gpmisc.o \
620		$(GLOBJ)gp_unix.o \
621		$(GLOBJ)zdevcal.o
622
623	$(MAKE) $(ARGS) \
624		CC='cc -ansi -D_POSIX_4SOURCE -woff 608 -Olimit 1100' \
625		FEATURE_DEVS_EXTRA= \
626		XINCLUDE=-I/usr/include/X11 \
627		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
628		$(GLOBJ)gxclread.o
629
630	$(MAKE) $(ARGS) \
631		CC='cc -ansi -D_POSIX_4SOURCE -woff 608' \
632		FEATURE_DEVS_EXTRA= \
633		XINCLUDE=-I/usr/include/X11 \
634		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11'
635
636sgi-mips-irix5-gnu-readline:	init
637	$(MAKE) $(ARGS) \
638		CC='cc -D_POSIX_4SOURCE -woff 608' \
639		XINCLUDE=-I/usr/include/X11 \
640		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
641		$(GLOBJ)gdevpdf.o \
642		$(GLOBJ)gdevps.o \
643		$(GLOBJ)gdevtifs.o \
644		$(GLOBJ)gpmisc.o \
645		$(GLOBJ)gp_unix.o \
646		$(GLOBJ)zdevcal.o
647
648	$(MAKE) $(ARGS) \
649		CC='cc -ansi -D_POSIX_4SOURCE -woff 608 -Olimit 1100' \
650		XINCLUDE=-I/usr/include/X11 \
651		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
652		$(GLOBJ)gxclread.o
653
654	$(MAKE) $(ARGS) \
655		CC='cc -ansi -D_POSIX_4SOURCE -woff 608' \
656		XINCLUDE=-I/usr/include/X11 \
657		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11' \
658		$(GNU_READLINE_ARGS)
659
660# NB: Need the -Dxxx settings to get certain system types defined for
661# at least gp_unifs.c and zdevcal.c
662sgi-mips-irix6.1:	init
663	$(MAKE) $(ARGS) \
664		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429' \
665		XINCLUDE=-I/usr/include/X11 \
666		XLIBDIRS='-L/usr/local/lib -L/usr/lib/X11'
667
668#
669sgi-mips-irix6.3:	init
670	$(MAKE) $(ARGS) \
671		CC='cc $(SGIARCHFLAGS) -D_POSIX_4SOURCE ' \
672		FEATURE_DEVS_EXTRA= \
673		XINCLUDE=-I/usr/include/X11 \
674		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
675		$(GLOBJ)gdevpdf.o \
676		$(GLOBJ)gdevps.o \
677		$(GLOBJ)gdevtifs.o \
678		$(GLOBJ)gpmisc.o \
679		$(GLOBJ)gp_unix.o \
680		$(GLOBJ)zdevcal.o
681
682	$(MAKE) $(ARGS) \
683		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429 -Olimit 1100' \
684		FEATURE_DEVS_EXTRA= \
685		XINCLUDE=-I/usr/include/X11 \
686		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
687		$(GLOBJ)gxclread.o
688
689	$(MAKE) $(ARGS) \
690		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429' \
691		FEATURE_DEVS_EXTRA= \
692		XINCLUDE=-I/usr/include/X11 \
693		XLIBDIRS='-L/usr/local/$(SGIARCHLIB) -L/usr/local/lib -L/usr/lib/X11'
694
695sgi-mips-irix6.3-gnu-readline:	init
696	$(MAKE) $(ARGS) \
697		CC='cc $(SGIARCHFLAGS) -D_POSIX_4SOURCE ' \
698		XINCLUDE=-I/usr/include/X11 \
699		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
700		$(GLOBJ)gdevpdf.o \
701		$(GLOBJ)gdevps.o \
702		$(GLOBJ)gdevtifs.o \
703		$(GLOBJ)gpmisc.o \
704		$(GLOBJ)gp_unix.o \
705		$(GLOBJ)zdevcal.o
706
707	$(MAKE) $(ARGS) \
708		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429 -Olimit 1100' \
709		XINCLUDE=-I/usr/include/X11 \
710		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
711		$(GLOBJ)gxclread.o
712
713	$(MAKE) $(ARGS) \
714		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429' \
715		XINCLUDE=-I/usr/include/X11 \
716		XLIBDIRS='-L/usr/local/$(SGIARCHLIB) -L/usr/local/lib -L/usr/lib/X11' \
717		$(GNU_READLINE_ARGS)
718
719
720# [06-Jan-2000] Problems have been reported with SGI MIPSpro compilers
721# version 7.x (x <= 3) for at least idict.o and isave.o when those
722# files are compiled with optimization.  We therefore add a step to
723# compile them without optimization.
724sgi-mips-irix6.4:	init
725	$(MAKE) $(ARGS) \
726		CFLAGS_STANDARD= \
727		CC='cc $(SGIARCHFLAGS) -D_POSIX_4SOURCE' \
728		FEATURE_DEVS_EXTRA= \
729		XINCLUDE=-I/usr/include/X11 \
730		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
731		$(GLOBJ)idict.o \
732		$(GLOBJ)isave.o
733
734	$(MAKE) $(ARGS) \
735		CC='cc $(SGIARCHFLAGS) -D_POSIX_4SOURCE' \
736		FEATURE_DEVS_EXTRA= \
737		XINCLUDE=-I/usr/include/X11 \
738		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
739		$(GLOBJ)gdevpdf.o \
740		$(GLOBJ)gdevps.o \
741		$(GLOBJ)gdevtifs.o \
742		$(GLOBJ)gpmisc.o \
743		$(GLOBJ)gp_unix.o \
744		$(GLOBJ)zdevcal.o
745#
746	$(MAKE) $(ARGS) \
747		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429 -OPT:Olimit=2500' \
748		FEATURE_DEVS_EXTRA= \
749		XINCLUDE=-I/usr/include/X11 \
750		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
751		$(GLOBJ)gxclread.o
752
753	$(MAKE) $(ARGS) \
754		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429' \
755		FEATURE_DEVS_EXTRA= \
756		XINCLUDE=-I/usr/include/X11 \
757		XLIBDIRS='-L/usr/local/$(SGIARCHLIB) -L/usr/local/lib -L/usr/lib/X11'
758
759sgi-mips-irix6.4-gcc:	init
760	$(MAKE) $(ARGS) \
761		CC='gcc -D_POSIX_4SOURCE' \
762		FEATURE_DEVS_EXTRA= \
763		XINCLUDE=-I/usr/include/X11 \
764		XLIBDIRS='-L/usr/local/$(SGIARCHLIB) -L/usr/local/lib -L/usr/lib/X11'
765
766# [06-Jan-2000] Problems have been reported with SGI MIPSpro compilers
767# version 7.x (x <= 3) for at least idict.o and isave.o when those
768# files are compiled with optimization.  We therefore add a step to
769# compile them without optimization.
770sgi-mips-irix6.4-gnu-readline:	init
771	$(MAKE) $(ARGS) \
772		CFLAGS_STANDARD= \
773		CC='cc $(SGIARCHFLAGS) -D_POSIX_4SOURCE' \
774		FEATURE_DEVS_EXTRA= \
775		XINCLUDE=-I/usr/include/X11 \
776		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
777		$(GLOBJ)idict.o \
778		$(GLOBJ)isave.o
779
780	$(MAKE) $(ARGS) \
781		CC='cc $(SGIARCHFLAGS) -D_POSIX_4SOURCE' \
782		XINCLUDE=-I/usr/include/X11 \
783		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
784		$(GLOBJ)gdevpdf.o \
785		$(GLOBJ)gdevps.o \
786		$(GLOBJ)gdevtifs.o \
787		$(GLOBJ)gpmisc.o \
788		$(GLOBJ)gp_unix.o \
789		$(GLOBJ)zdevcal.o
790#
791	$(MAKE) $(ARGS) \
792		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429 -OPT:Olimit=2500' \
793		XINCLUDE=-I/usr/include/X11 \
794		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
795		$(GLOBJ)gxclread.o
796
797	$(MAKE) $(ARGS) \
798		CC='cc $(SGIARCHFLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429' \
799		XINCLUDE=-I/usr/include/X11 \
800		XLIBDIRS='-L/usr/local/$(SGIARCHLIB) -L/usr/local/lib -L/usr/lib/X11' \
801		$(GNU_READLINE_ARGS) \
802		XCFLAGS='-I. -I$(JSRCDIR) -I/usr/local/include -L/usr/local/lib32 -L/usr/local/lib'
803
804
805# IRIX 6.5 can be treated like 6.4 for ghostscript builds:
806sgi-mips-irix6.5: sgi-mips-irix6.4
807
808sgi-mips-irix6.5-gnu-readline: sgi-mips-irix6.4-gnu-readline
809
810sgi-mips-irix6.5-64bit:	init
811	$(MAKE) $(ARGS) \
812		CFLAGS_STANDARD= \
813		CC='cc $(SGIARCH64FLAGS) -D_POSIX_4SOURCE' \
814		FEATURE_DEVS_EXTRA= \
815		XINCLUDE=-I/usr/include/X11 \
816		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
817		$(GLOBJ)idict.o \
818		$(GLOBJ)isave.o
819
820	$(MAKE) $(ARGS) \
821		CC='cc $(SGIARCH64FLAGS) -D_POSIX_4SOURCE' \
822		FEATURE_DEVS_EXTRA= \
823		XINCLUDE=-I/usr/include/X11 \
824		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
825		$(GLOBJ)gdevpdf.o \
826		$(GLOBJ)gdevps.o \
827		$(GLOBJ)gdevtifs.o \
828		$(GLOBJ)gpmisc.o \
829		$(GLOBJ)gp_unix.o \
830		$(GLOBJ)zdevcal.o
831#
832	$(MAKE) $(ARGS) \
833		CC='cc $(SGIARCH64FLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429 -OPT:Olimit=2500' \
834		FEATURE_DEVS_EXTRA= \
835		XINCLUDE=-I/usr/include/X11 \
836		XLIBDIRS='-L/usr/lib/X11 -L/usr/local/lib' \
837		$(GLOBJ)gxclread.o
838
839	$(MAKE) $(ARGS) \
840		CC='cc $(SGIARCH64FLAGS) -ansi -D_POSIX_4SOURCE -woff 1185,1429' \
841		FEATURE_DEVS_EXTRA= \
842		XINCLUDE=-I/usr/include/X11 \
843		XLIBDIRS='-L/usr/local/$(SGIARCH64LIB) -L/usr/local/lib -L/usr/lib/X11'
844
845sun-sparc-solaris:	init
846	$(MAKE) $(ARGS) \
847		CC='cc -Xc' \
848		FEATURE_DEVS_EXTRA= \
849		XINCLUDE=-I/usr/openwin/include \
850		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib'
851
852sun-sparc-solaris-64bit:	init
853	$(MAKE) $(ARGS) \
854		CC='cc -Xc  -xarch=v9a' \
855		FEATURE_DEVS_EXTRA= \
856		XINCLUDE=-I/usr/openwin/include \
857		XLIBDIRS='-L/usr/openwin/lib/sparcv9 -L/usr/local/lib64'
858
859sun-sparc-solaris-gnu-readline:	init
860	$(MAKE) $(ARGS) \
861		CC='cc -Xc' \
862		XINCLUDE=-I/usr/openwin/include \
863		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib' \
864		$(GNU_READLINE_ARGS)
865
866sun-sparc-solaris-gcc:	init
867	$(MAKE) $(ARGSGCC) \
868		CC='gcc' \
869		GCFLAGS=$(GCFLAGS) \
870		XINCLUDE=-I/usr/openwin/include \
871		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib' \
872		EXTRALIBS='-ltermcap'
873
874# For ps2pdf FullBook.ps, these optimization options only reduced the time by 3%!
875sun-sparc-solaris-opt-gnu-readline:	init
876	$(MAKE) $(ARGS) \
877		CC='cc -Xc -xO5 -dalign -xlibmil -xcg92 -xtarget=ultra1/2170' \
878		XINCLUDE=-I/usr/openwin/include \
879		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib' \
880		$(GNU_READLINE_ARGS)
881
882# [21-Dec-1998] Add missing $(DD) prefix to sparc.dev
883sun-sparc-solaris-newsprint:	init
884	$(MAKE) $(ARGS) \
885		CC='cc -Xc' \
886		XINCLUDE=-I/usr/openwin/include \
887		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib' \
888		DEVICE_DEVS2=$(DD)sparc.dev
889
890sun-sparc-solaris-pg:	init
891	$(MAKE) $(ARGS) \
892		CC='cc -Xc -xO5 -dalign -xlibmil -fsimple=2 -fns -xsafe=mem -xtarget=ultra1/170 -xpg' \
893		XINCLUDE=-I/usr/openwin/include \
894		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib -ldl'
895
896# [21-Dec-1998] Add missing $(DD) prefix to sparc.dev
897# [28-Nov-1997] Extra device(s) to be compiled into gs to support
898# local needs Neither unixansi.mak nor unix-gcc.mak currently sets
899# DEVICE_DEVS2, so we are free to list only our extra ones here:
900
901# NB: Need -Dconst= for gcc 2.7.1 (unless gcc patch in make.doc is installed)
902sun-sparc-sunos-gcc:	init
903	$(MAKE) $(ARGSGCC) \
904		CC='gcc -Dconst=' \
905		FEATURE_DEVS_EXTRA= \
906		GCFLAGS=$(GCFLAGS) \
907		XINCLUDE=-I/usr/openwin/include \
908		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib' \
909		DEVICE_DEVS2=$(DD)sparc.dev \
910		EXTRALIBS='-ltermcap'
911
912sun-sparc-sunos-gcc-gnu-readline:	init
913	$(MAKE) $(ARGSGCC) \
914		CC='gcc -Dconst=' \
915		GCFLAGS=$(GCFLAGS) \
916		XINCLUDE=-I/usr/openwin/include \
917		XLIBDIRS='-L/usr/local/lib -L/usr/openwin/lib' \
918		DEVICE_DEVS2=$(DD)sparc.dev \
919		$(GNU_READLINE_ARGS)
920
921# Convenience targets: build by hostname, using settings from
922# /usr/local/src/ghostscript/BUILD-GS.sh
923
924# [02-Oct-1999]: remove -gnu-readline from these: I still have not
925# yet had time to debug the problems it creates interfacing
926# to ps2pk et al
927GNUREADLINE=-gnu-readline
928GNUREADLINE=
929
930## XXXXXXXX.YYYYYYYY.utah.edu:		dec-alpha-osf$(GNUREADLINE)
931## XXXXXXXX.YYYYYYYY.utah.edu:	ibm-rs6000-aix-4.2$(GNUREADLINE)
932## XXXXXXXX.YYYYYYYY.utah.edu:		sgi-mips-irix6.5$(GNUREADLINE)
933## XXXXXXXX.YYYYYYYY.utah.edu:		hp-parisc-hpux$(GNUREADLINE)
934## XXXXXXXX.YYYYYYYY.utah.edu:		sgi-mips-irix6.3$(GNUREADLINE)
935## XXXXXXXX.YYYYYYYY.utah.edu:	next-m68K-mach$(GNUREADLINE)
936## XXXXXXXX.YYYYYYYY.utah.edu:			apple-powerpc-rhapsody5.5$(GNUREADLINE)
937## XXXXXXXX.YYYYYYYY.utah.edu:		apple-powerpc-rhapsody5.5$(GNUREADLINE)
938## XXXXXXXX.YYYYYYYY.utah.edu:		dec-alpha-osf$(GNUREADLINE)
939## XXXXXXXX.YYYYYYYY.utah.edu:		linux$(GNUREADLINE)
940## XXXXXXXX.YYYYYYYY.utah.edu:		linux$(GNUREADLINE)
941## XXXXXXXX.YYYYYYYY.utah.edu:		sun-sparc-sunos-gcc$(GNUREADLINE)
942## XXXXXXXX.YYYYYYYY.utah.edu:		sun-sparc-solaris$(GNUREADLINE)
943## XXXXXXXX.YYYYYYYY.utah.edu:		sun-sparc-solaris$(GNUREADLINE)
944## XXXXXXXX.YYYYYYYY.utah.edu:		sgi-mips-irix5$(GNUREADLINE)
945