xref: /plan9/sys/src/cmd/gs/src/unixinst.mak (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1#    Copyright (C) 1997-2005 artofcode LLC. All rights reserved.
2#
3# This software is provided AS-IS with no warranty, either express or
4# implied.
5#
6# This software is distributed under license and may not be copied,
7# modified or distributed except as expressly authorized under the terms
8# of the license contained in the file LICENSE in this distribution.
9#
10# For more information about licensing, please refer to
11# http://www.ghostscript.com/licensing/. For information on
12# commercial licensing, go to http://www.artifex.com/licensing/ or
13# contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14# San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15
16# $Id: unixinst.mak,v 1.41 2005/06/29 14:21:27 giles Exp $
17# Partial makefile common to all Unix and Desqview/X configurations,
18# containing the `install' targets.
19# This is the very last part of the makefile for these configurations.
20
21install: install-exec install-scripts install-data
22
23# The sh -c in the rules below is required because Ultrix's implementation
24# of sh -e terminates execution of a command if any error occurs, even if
25# the command traps the error with ||.
26
27# We include mkdirs for datadir, gsdir, and gsdatadir in all 3 install
28# rules, just in case bindir or scriptdir is a subdirectory of any of these.
29
30install-exec: STDDIRS $(GS_XE)
31	-mkdir -p $(datadir)
32	-mkdir -p $(gsdir)
33	-mkdir -p $(gsdatadir)
34	-mkdir -p $(bindir)
35	$(INSTALL_PROGRAM) $(GS_XE) $(bindir)/$(GS)
36
37install-scripts: $(PSLIBDIR)/gsnd
38	-mkdir -p $(datadir)
39	-mkdir -p $(gsdir)
40	-mkdir -p $(gsdatadir)
41	-mkdir -p $(scriptdir)
42	$(SH) -c 'for f in \
43gsbj gsdj gsdj500 gslj gslp gsnd \
44bdftops dumphint dvipdf eps2eps font2c \
45pdf2dsc pdf2ps pdfopt pf2afm pfbtopfa printafm \
46ps2ascii ps2epsi ps2pdf ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr ps2ps wftopfa \
47fixmswrd.pl lprsetup.sh pj-gs.sh pv.sh sysvlp.sh unix-lpr.sh ;\
48	do if ( test -f $(PSLIBDIR)/$$f ); then \
49	  (cat $(PSLIBDIR)/$$f | sed -e "s/GS_EXECUTABLE=[^ \t]*/GS_EXECUTABLE=$(GS)/" > $(PSOBJDIR)/$$f); \
50	  $(INSTALL_PROGRAM) $(PSOBJDIR)/$$f $(scriptdir)/$$f; \
51	fi;\
52	done'
53
54PSRESDIR=$(PSLIBDIR)/../Resource
55PSDOCDIR=$(PSLIBDIR)/../doc
56PSEXDIR=$(PSLIBDIR)/../examples
57PSMANDIR=$(PSLIBDIR)/../man
58
59install-data: install-libdata install-resdata install-doc install-man install-examples
60
61# There's no point in providing a complete dependency list: we include
62# one file from each subdirectory just as a sanity check.
63
64install-libdata:
65	-mkdir -p $(datadir)
66	-mkdir -p $(gsdir)
67	-mkdir -p $(gsdatadir)
68	-mkdir -p $(gsdatadir)/lib
69	$(SH) -c 'for f in \
70Fontmap Fontmap.GS cidfmap \
71FAPIcidfmap FAPIconfig FAPIfontmap xlatmap \
72ht_ccsto.ps \
73acctest.ps addxchar.ps align.ps bdftops.ps \
74caption.ps cid2code.ps decrypt.ps docie.ps dumphint.ps \
75errpage.ps font2c.ps font2pcl.ps gslp.ps gsnup.ps image-qa.ps impath.ps \
76jispaper.ps landscap.ps level1.ps lines.ps markhint.ps markpath.ps \
77packfile.ps pcharstr.ps pf2afm.ps pfbtopfa.ps ppath.ps prfont.ps printafm.ps \
78ps2ai.ps ps2ascii.ps ps2epsi.ps quit.ps rollconv.ps \
79showchar.ps showpage.ps stcinfo.ps stcolor.ps stocht.ps \
80traceimg.ps traceop.ps type1enc.ps type1ops.ps uninfo.ps unprot.ps \
81viewcmyk.ps viewgif.ps viewjpeg.ps viewmiff.ps \
82viewpcx.ps viewpbm.ps viewps2a.ps \
83winmaps.ps wftopfa.ps wrfont.ps zeroline.ps \
84pdf2dsc.ps pdfopt.ps ;\
85	do if ( test -f $(PSLIBDIR)/$$f ); then $(INSTALL_DATA) $(PSLIBDIR)/$$f $(gsdatadir)/lib; fi;\
86	done'
87	$(SH) -c 'for f in $(PSLIBDIR)/gs_*.ps $(PSLIBDIR)/pdf*.ps;\
88	do $(INSTALL_DATA) $$f $(gsdatadir)/lib ;\
89	done'
90	$(SH) -c 'for f in $(PSLIBDIR)/*.ppd $(PSLIBDIR)/*.rpd $(PSLIBDIR)/*.upp $(PSLIBDIR)/*.xbm $(PSLIBDIR)/*.xpm;\
91	do $(INSTALL_DATA) $$f $(gsdatadir)/lib ;\
92	done'
93
94# install the default resource files
95# copy in every category (directory) but CVS
96RES_CATEGORIES=`ls $(PSRESDIR) | grep -v CVS`
97install-resdata: $(PSRESDIR)/Decoding/Unicode
98	-mkdir -p $(datadir)
99	-mkdir -p $(gsdir)
100	-mkdir -p $(gsdatadir)/Resource
101	$(SH) -c 'for dir in $(RES_CATEGORIES); do \
102	  rdir=$(gsdatadir)/Resource/$$dir ; \
103	  test -d $$rdir || mkdir -p $$rdir ; \
104	  for file in $(PSRESDIR)/$$dir/*; do \
105	    if test -f $$file; then $(INSTALL_DATA) $$file $$rdir ; fi \
106	  done \
107	done'
108
109# install html documentation
110DOC_PAGES=PUBLIC README index.html gs.css \
111	   API.htm Bug-form.htm Bug-info.htm \
112	   C-style.htm Changes.htm Commprod.htm Copying.htm \
113	   Current.htm Deprecated.htm \
114	   DLL.htm Deprecated.htm Develop.htm Devices.htm Drivers.htm \
115	   Fonts.htm Helpers.htm Hershey.htm \
116	   History1.htm History2.htm History3.htm History4.htm \
117	   History5.htm History6.htm History7.htm History8.htm \
118	   Details.htm Details8.htm \
119	   Htmstyle.htm Humor.htm Issues.htm Install.htm Language.htm \
120	   Lib.htm Maintain.htm Make.htm New-user.htm \
121	   News.htm Projects.htm Ps-style.htm Ps2epsi.htm Ps2pdf.htm \
122	   Psfiles.htm Public.htm Readme.htm Release.htm \
123	   Source.htm Testing.htm Unix-lpr.htm \
124	   Use.htm Xfonts.htm
125install-doc: $(PSDOCDIR)/News.htm
126	-mkdir -p $(docdir)
127	$(SH) -c 'for f in $(DOC_PAGES) ;\
128	do if ( test -f $(PSDOCDIR)/$$f ); then $(INSTALL_DATA) $(PSDOCDIR)/$$f $(docdir); fi;\
129	done'
130
131# install the man pages for each locale
132MAN_LCDIRS=. de
133MAN1_LINKS_PS2PS=eps2eps
134MAN1_LINKS_PS2PDF=ps2pdf12 ps2pdf13
135MAN1_LINKS_GSLP=gsbj gsdj gsdj500 gslj
136install-man: $(PSMANDIR)/gs.1
137	$(SH) -c 'test -d $(mandir) || mkdir -p $(mandir)'
138	$(SH) -c 'for d in $(MAN_LCDIRS) ;\
139	do man1dir=$(mandir)/$$d/man$(man1ext) ;\
140	  ( test -d $$man1dir || mkdir -p $$man1dir ) ;\
141	  for f in $(PSMANDIR)/$$d/*.1 ;\
142	    do $(INSTALL_DATA) $$f $$man1dir ;\
143	    if ( test -f $$man1dir/ps2ps.$(man1ext) ) ;\
144	      then for f in $(MAN1_LINKS_PS2PS) ;\
145	        do ( cd $$man1dir; rm -f $$f.$(man1ext) ;\
146			  ln -s ps2ps.$(man1ext) $$f.$(man1ext) ) ;\
147	      done ;\
148	    fi ;\
149	    if ( test -f $$man1dir/ps2pdf.$(man1ext) ) ;\
150	      then for f in $(MAN1_LINKS_PS2PDF) ;\
151	        do ( cd $$man1dir; rm -f $$f.$(man1ext) ;\
152			  ln -s ps2pdf.$(man1ext) $$f.$(man1ext) ) ;\
153	      done ;\
154	    fi ;\
155	    if ( test -f $$man1dir/ps2lp.$(man1ext) ) ;\
156	      then for f in $(MAN1_LINKS_GSLP) ;\
157	        do ( cd $$man1dir; rm -f $$f.$(man1ext) ;\
158			  ln -s gslp.$(man1ext) $$f.$(man1ext) ) ;\
159	      done ;\
160	    fi ;\
161	  done ;\
162	done'
163
164# install the example files
165install-examples:
166	-mkdir -p $(exdir)
167	for f in \
168alphabet.ps annots.pdf chess.ps colorcir.ps doretree.ps escher.ps \
169golfer.eps grayalph.ps snowflak.ps tiger.eps vasarely.ps waterfal.ps \
170ridt91.eps ;\
171	do $(INSTALL_DATA) $(PSEXDIR)/$$f $(exdir) ;\
172	done
173