1#	MMS Description file for xv
2#	Written by Rick Dyson (dyson@iowasp.physics.uiowa.edu)
3#	Last Modified:	30-APR-1992 for v2.21
4#			 5-OCT-1992 for v2.21 (export.lcs.mit.edu version
5#				    of xv-2.21 seemed to change about
6#				    25-Sep-1992 without version number
7#				    changing.
8#			 8-FEB-1993 for v2.21b
9#				    ALPHA support is in ALPHA.MMS
10#			 2-MAR-1993 for v3.00
11#			15-APR-1993 for v3.00 (DEC C changes)
12#			25-MAY-1993 merged ALPHA.MMS and MAKEFILE.MMS
13#                       27-APR-1994 for v3.01
14#			23-DEC-1994 for v3.10
15#
16# 	Modeled after the original Unix Makefile for xv
17#	Most of the Unix comments have been left intact to help debug any
18#	problems.
19
20
21# BE SURE TO SET THIS TO YOUR SITE'S DESTINATION DIRECTORY...!!!
22BINDIR = Sys$Disk:[]
23
24# your C compiler (and options) of choice
25# Remember:  if you change the C compiler (to gcc, or whatever), be sure to
26# do the same thing to the Makefile in the 'jpeg' and 'tiff' subdirectories
27#
28# For ALPHA/DEC C users, you must add a MACRO qualifier to the
29# command line, i.e.,
30#       MMS /Description = Makefile.mms /Macro = ("ALPHA=1")
31#
32# For VAX/DEC C users, you must add a MACRO qualifier to the
33# command line, i.e.,
34#       MMS /Description = Makefile.mms /Macro = ("DECC=1")
35#
36# Users still using the non-MOTIF DECWindows (i.e., XUI) should also
37# add another macro of "DEC_XUI=1"
38
39CC = cc
40
41
42################ CONFIGURATION OPTIONS #################
43
44# if, for whatever reason, you're unable to get the JPEG library to compile
45# on your machine, *COMMENT OUT* the following lines.
46#
47# Also, comment out the JPEGLIB dependancy below.
48#
49#  VMS MMS USERS!!!
50#
51# 	if you don't use the JPEG package as supplied with XV, you
52# 	will need fill in the complete directory specifications for JPEGDIR.
53#
54JPEG = ,HAVE_JPEG
55JPEGDIR = [.JPEG]
56JPEGLIB = $(JPEGDIR)LIBJPEG.OLB
57JPEGINCLUDE = ,$(JPEGDIR)
58
59
60# if, for whatever reason, you're unable to get the TIFF library to compile
61# on your machine, *COMMENT OUT* the following lines
62#
63# Also, comment out the LIBTIFF dependancy at the end of this Makefile
64#
65# 	if you don't use the TIFF package as supplied with XV, you
66# 	will need to fill in the complete directory specifications for TIFFDIR.
67#
68TIFF = ,HAVE_TIFF
69TIFFDIR = [.TIFF]
70TIFFLIB = $(TIFFDIR)LIBTIFF.OLB
71TIFFINCLUDE = ,$(TIFFDIR)
72
73
74# if, for whatever reason, you're unable to get the PDS/VICAR support
75# to compile (xvpds.c, and vdcomp.c), *COMMENT OUT* the following line,
76# and also remove 'vdcomp' from the 'all:' dependancy
77PDS = ,HAVE_PDS
78
79
80# If you are still using the DECWindows XUI interface, uncomment the
81# next line.  This will help stop the "window creep" problem with this
82# window mananager
83.ifdef DEC_XUI
84XUI = ,HAVE_XUI
85.endif
86
87DEFS = /Define = (VMS$(JPEG)$(PDS)$(TIFF)$(TIMERS)$(XUI))
88INCS = /Include = ([]$(JPEGINCLUDE)$(TIFFINCLUDE))
89
90.ifdef ALPHA
91OPTIMIZE = /Optimize /Standard = VAXC
92OPTS = Sys$Disk:[]DECC_OPTIONS.OPT
93.else
94.ifdef DECC
95OPTIMIZE = /Optimize /Standard = VAXC /Warnings = NoInformationals
96OPTS = Sys$Disk:[]DECC_OPTIONS.OPT
97.else
98OPTIMIZE = /Optimize
99OPTS = Sys$Disk:[]VAXC_OPTIONS.OPT
100.endif
101.endif
102DEBUG = /NoDebug
103
104CFLAGS = $(CFLAGS) $(DEFS) $(INCS) $(DEBUG) $(OPTIMIZE)
105LINKFLAGS = $(LINKFLAGS) $(DEBUG)
106
107XVLIB = LIBXV.OLB
108
109OBJS = 	xv.obj,xvevent.obj,xvroot.obj,xvmisc.obj,xvimage.obj,xvcolor.obj, \
110        xvsmooth.obj,xv24to8.obj,xvgif.obj,xvpm.obj,xvinfo.obj,xvctrl.obj, \
111        xvscrl.obj,xvalg.obj,xvgifwr.obj,xvdir.obj,xvbutt.obj,xvpbm.obj, \
112        xvxbm.obj,xvgam.obj,xvbmp.obj,xvdial.obj,xvgraf.obj,xvsunras.obj, \
113        xvjpeg.obj,xvps.obj,xvpopup.obj,xvdflt.obj,xvtiff.obj,xvtiffwr.obj, \
114        xvpds.obj,xvrle.obj,xviris.obj,xvgrab.obj,xvbrowse.obj,xviff.obj, \
115        xvtext.obj,xvpcx.obj,xvtarga.obj,xvxpm.obj,xvcut.obj,xvxwd.obj,   \
116        xvfits.obj,vms.obj
117
118
119BITS = [.Bits]annot.h
120
121MISC = readme. changelog. ideas.
122
123.first
124.ifdef ALPHA
125	@- Define /NoLog Sys DECC$Library_Include
126.else
127.ifdef DECC
128	@- Define /NoLog Sys DECC$Library_Include
129.else
130	@- Define /NoLog Sys Sys$Library
131.endif
132	@- Define /NoLog X11 DECW$Include
133	@- XVDIR = F$Environment ("Default")
134.endif
135
136all : 		$(BITS) $(OPTS) lib xv bggen decompress xcmap xvpictoppm help
137	! All Finished with the VMS build of XV (v3.10)
138
139lib :   	$(JPEGLIB) $(TIFFLIB) $(XVLIB)
140	@ Continue
141
142xv :		xv.exe
143	@ Continue
144
145bggen :		bggen.exe
146	@ Continue
147
148xcmap :         xcmap.exe
149	@ Continue
150
151xvpictoppm :	xvpictoppm.exe
152	@ Continue
153
154help :		xv.hlb
155	@ Continue
156
157decompress :	decompress.exe vdcomp.exe
158	@ Continue
159
160bggen.exe : 	bggen.obj $(XVLIB) $(OPTS)
161	$(LINK) $(LINKFLAGS) bggen.obj,$(XVLIB)/Library,$(OPTS)/Option
162
163xcmap.exe :     xcmap.obj
164	$(LINK) $(LINKFLAGS) xcmap.obj,$(XVLIB)/Library,$(OPTS)/Option
165
166xvpictoppm.exe :	xvpictoppm.obj
167	$(LINK) $(LINKFLAGS) xvpictoppm.obj,$(XVLIB)/Library,$(OPTS)/Option
168
169xv.exe : 	xv.obj $(XVLIB) $(JPEGLIB) $(TIFFLIB) $(OPTS)
170	$(LINK) $(LINKFLAGS) xv.obj,$(XVLIB)/Library,$(JPEGLIB)/Library,$(TIFFLIB)/Library,$(OPTS)/Option
171
172$(JPEGLIB) :
173	Set Default $(JPEGDIR)
174.ifdef ALPHA
175	$(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS /Macro = "ALPHA = 1" LIBJPEG.OLB
176.else
177	$(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS LIBJPEG.OLB
178.endif
179	Set Default 'XVDIR'
180
181$(TIFFLIB) :
182	Set Default $(TIFFDIR)
183.ifdef ALPHA
184	$(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS /Macro = "ALPHA = 1" LIBTIFF.OLB
185.else
186.ifdef DECC
187	$(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS /Macro = "ALPHA = 1" LIBTIFF.OLB
188.else
189	$(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS LIBTIFF.OLB
190.endif
191.endif
192	Set Default 'XVDIR'
193
194$(XVLIB) :	$(OBJS)
195        If "''F$Search ("$(XVLIB)")'" .eqs. "" Then Library /Create $(XVLIB)
196	Library /Replace $(XVLIB) $(OBJS)
197
198decompress.exe :	decompress.obj
199	$(LINK) $(LINKFLAGS) decompress.obj,$(OPTS)/Option
200
201vdcomp.exe :	vdcomp.obj
202	$(LINK) $(LINKFLAGS) vdcomp.obj,$(OPTS)/Option
203
204[.Bits]annot.h :
205	Set Default [.Bits]
206	Set Protection = Owner:RWED *.
207	Rename *. *.H
208	Set Protection = Owner:RWE *.H
209	Set Default [-]
210
211#	various dependencies
212$(OBJS) :   		xv.h config.h
213xv.hlb :		xv.hlp
214vms.obj :		includes.h dirent.h
215
216#
217#  Build the linker options file for OpenVMS VAX and VAX C.
218#
219Sys$Disk:[]VAXC_Options.opt :
220        @ Open /Write TMP VAXC_Options.opt
221        @ Write TMP "! XV (v3.10) Linker Options list for VMS VAX C"
222        @ Write TMP "!"
223        @ Write TMP "Sys$Disk:[]LibXV.OLB /Library"
224        @ Write TMP "Sys$Disk:[.JPEG]LibJPEG.OLB /Library"
225        @ Write TMP "Sys$Disk:[.TIFF]LibTIFF.OLB /Library"
226.ifdef DEC_XUI
227        @ Write TMP "!"
228        @ Write TMP "! These were appropriate for VAX C and XUI in the past."
229        @ Write TMP "Sys$Library:DECW$DWTLibShr.exe /Share
230        @ Write TMP "Sys$Library:DECW$XLibShr.exe /Share
231        @ Write TMP "!You may need the next line for VAX C (v3.2-044)"
232        @ Write TMP "!But you don't for DEC C (v4.0-000)"
233        @ Write TMP "Sys$Library:VAXCRTL.EXE /Share"
234.else
235        @ Write TMP "!"
236        @ Write TMP "! Some of the following libraries may not be available on"
237        @ Write TMP "! older systems, namely XUI or Motif v1.0/1.1"
238        @ Write TMP "! I know they are available for OpenVMS v6.1/Motif v1.2."
239        @ Write TMP "! If you get a report that they can't be found,"
240        @ Write TMP "! comment them out and try again..."
241        @ Write TMP "Sys$Library:DECW$DXMLibShr12.exe /Share
242        @ Write TMP "Sys$Library:DECW$XMLibShr12.exe /Share
243        @ Write TMP "Sys$Library:DECW$XTLibShrR5.exe /Share"
244        @ Write TMP "Sys$Library:DECW$XLibShr.exe /Share
245.endif
246        @ Close TMP
247
248Sys$Disk:[]DECC_Options.opt :
249        @ Open /Write TMP DECC_Options.opt
250        @ Write TMP "! XV (v3.10) Linker Options list for VMS DEC C"
251        @ Write TMP "!"
252        @ Write TMP "Sys$Disk:[]LibXV.olb /Library"
253        @ Write TMP "Sys$Disk:[.JPEG]LibJPEG.olb /Library"
254        @ Write TMP "Sys$Disk:[.TIFF]LibTIFF.olb /Library"
255        @ Write TMP "Sys$Library:DECW$XTShr.exe /Share"
256        @ Write TMP "Sys$Library:DECW$XLibShr.exe /Share"
257        @ Close TMP
258
259install :	xv.exe vdcomp.exe bggen.exe decompress.exe
260	Copy *.exe $(BINDIR)
261
262clean :
263	@- Set Protection = Owner:RWED *.obj,*.*;-1
264	- Delete /NoConfirm /NoLog *.obj;*,*.exe;*,*.log;*,*.olb;*,*.hlb;*
265	- Purge /NoConfirm /NoLog
266	Set Default [.JPEG]
267	$(MMS) /Description = MAKEFILE.MMS clean
268	- Delete /NoConfirm /NoLog *.olb;*
269	Set Default [-.TIFF]
270	$(MMS) /Description = MAKEFILE.MMS clean
271	Set Default [-]
272