Annotation of OpenXM_contrib/gnuplot/configure.vms, Revision 1.1.1.1
1.1 ohara 1: $ ! CONFIGURE.VMS -- configure command file for VMS, gnuplot 3.7
2: $ !
3: $ ! Writen by John.Hasstedt@sunysb.edu. This command file creates config.h
4: $ ! and either a make file or a command file. These files are based on the
5: $ ! makefile.vms and buildvms.com files distributed with previous versions
6: $ ! of gnuplot.
7: $ !
8: $ ! Options are specified on the command line. I just set symbols on the
9: $ ! command line to 1. This is rather crude, but it works.
10: $ !
11: $ ! The options are:
12: $ !
13: $ ! DECC, GNUC, VAXC -- The compiler. I have only tested this with DECC.
14: $ ! MMS, MMK, MAK, COM -- The build procedure. If you specify MMS or MMK,
15: $ ! you get DESCRIP.MMS; if you specify MAK, you get MAKEFILE.; if you
16: $ ! specify COM, you get BUILD.COM.
17: $ ! DECC$CRTL -- Use the DECC$CRTL backport library. See
18: $ ! SYS$LIBRARY:DECC$CRTL.README for information on it.
19: $ ! READLINE -- Use the included readline function.
20: $ !
21: $ ! For example,
22: $ ! @CONFIGURE.VMS GNUC MAK
23: $ ! will create MAKEFILE. with commands for building with GNUC.
24: $ !
25: $ ! makefile.vms had the comments:
26: $ ! -------------------------------------------------------------------------
27: $ ! use with the MAKE that was posted by Tony Ivanov (tony@gvgpvd.GVG.TEK.COM)
28: $ ! in comp.os.vms on 5 December 1988
29: $ !
30: $ ! Modified 23 June 1999 to work with MMK; it should also work with MMS.
31: $ ! John.Hasstedt@sunysb.edu.
32: $ ! -------------------------------------------------------------------------
33: $ !
34: $ ! buildvms.com had the comment:
35: $ ! -------------------------------------------------------------------------
36: $ ! lph: modified for compatibility with VMS 4.x (which lacks 'if ... endif'),
37: $ ! but made the default DECC
38: $ ! -------------------------------------------------------------------------
39: $ !
40: $ ! I have tried to maintain compatibility with V4.x--I have not used
41: $ ! 'if ... endif' or 'gosub'; however, I do not have a V4.x system to test
42: $ ! it on.
43: $ !
44: $ ! The comments below are from buildvms.com about defining CFLAGS on
45: $ ! different platforms. If you have problems compiling, these comments
46: $ ! may help. If you need to change CFLAGS, you can change it below, or
47: $ ! you can change it in the make file this file generates. Most of the
48: $ ! defines are not necessary because I now use config.h.
49: $ !
50: $ !-----------------------------------------------------------------
51: $ ! A generic starting point
52: $ !
53: $ !$ CFLAGS = "/NOWARN/NOOP/DEFINE=(''x11'NO_GIH,PIPES,''rtl')''pfix'"
54: $ !
55: $ ! ----------------------------------------------------------------
56: $ !
57: $ ! For VMS 4.7 and VAX C v2.4
58: $ ! ("Compiler abort - virtual memory limits exceeded" if attempt
59: $ ! to include all applicable terminals, but otherwise builds OK.
60: $ ! Runtime problem: an exit handler error, also w/ gcc build;
61: $ ! a VAXCRTL atexit bug?)
62: $ !
63: $ ! Note: VAX uses D_FLOAT, maximum exponent ca 10e +/- 38;
64: $ ! will cause problems with some of the demos
65: $ !
66: $ !$ CFLAGS = "/NOOP/DEFINE=(NO_STRSTR, NO_SYS_TYPES_H, "-
67: $ ! +"HAVE_GETCWD, HAVE_SLEEP, NO_LOCALE_H,"-
68: $ ! +"SHORT_TERMLIST, NO_GIH,PIPES, ''rtl')"
69: $ !$ !
70: $ !
71: $ !-----------------------------------------------------------------
72: $ !
73: $ ! This will build with gcc v1.42 on VMS 4.7
74: $ ! (no virtual memory limit problem)
75: $ !
76: $ ! gcc v1.42 string.h can prefix str routines w/ gnu_ (ifdef GCC_STRINGS)
77: $ ! but the routines in GCCLIB are not prefixed w/ gcc_ :-(
78: $ ! link with GCCLIB, then ignore the link warnings about multiple
79: $ ! definitions of STR... in C$STRINGS
80: $ !
81: $ ! GCC v1.42 has a locale.h, but neither gcc nor VMS v4.7 VAXCRTL has
82: $ ! the setlocale function
83: $ !
84: $ !
85: $ ! Note: _assert.c defines assert_gcc, if ndef NDEBUG, but
86: $ ! cgm.trm undefines NDEBUG, so we always compile/link _assert.c
87: $ !
88: $ !$ CFLAGS = "/NOOP/DEFINE=(''x11'NO_STRSTR, HAVE_GETCWD,"-
89: $ ! +" HAVE_SLEEP, NO_LOCALE_H, NO_GIH, PIPES, ''rtl')"
90: $ !
91: $ !-----------------------------------------------------------------
92: $ VAXC = 0
93: $ GNUC = 0
94: $ DECC = 0
95: $ MMS = 0
96: $ MMK = 0
97: $ MAK = 0
98: $ COM = 0
99: $ DECC$CRTL = 0
100: $ READLINE = 0
101: $ !
102: $ IF (P1 .NES. "") THEN 'P1' = 1
103: $ IF (P2 .NES. "") THEN 'P2' = 1
104: $ IF (P3 .NES. "") THEN 'P3' = 1
105: $ IF (P4 .NES. "") THEN 'P4' = 1
106: $ IF (P5 .NES. "") THEN 'P5' = 1
107: $ IF (P6 .NES. "") THEN 'P6' = 1
108: $ IF (P7 .NES. "") THEN 'P7' = 1
109: $ IF (P8 .NES. "") THEN 'P8' = 1
110: $ !
111: $ ! Get compiler. I first check if the compiler was specified on the command
112: $ ! line. If it wasn't, I check for what compiler is on the system. If
113: $ ! there are several options, I use DECC, then GNUC, then VAXC.
114: $ !
115: $ COMPILER = ""
116: $ IF (VAXC) THEN COMPILER = "VAXC"
117: $ IF (GNUC) THEN COMPILER = "GNUC"
118: $ IF (DECC) THEN COMPILER = "DECC"
119: $ IF (COMPILER .NES. "") THEN GOTO HAVECOMPILER
120: $ VAXC = 1
121: $ GNUC = F$TRNLNM("GNU_CC") .NES. ""
122: $ DECC = F$SEARCH("SYS$SYSTEM:DECC$COMPILER.EXE") .NES. ""
123: $ IF (VAXC) THEN COMPILER = "VAXC"
124: $ IF (GNUC) THEN COMPILER = "GNUC"
125: $ IF (DECC) THEN COMPILER = "DECC"
126: $HAVECOMPILER:
127: $ !
128: $ ! Get the make tool. I first check if the tool was specified on the command
129: $ ! line. If it wasn't, I check for what tool is on the system. If there are
130: $ ! several options, I use MMS, then MMK, then MAKE, then the command file.
131: $ !
132: $ MAKETOOL = ""
133: $ IF (COM) THEN MAKETOOL = "COM"
134: $ IF (MAK) THEN MAKETOOL = "MAKE"
135: $ IF (MMK) THEN MAKETOOL = "MMK"
136: $ IF (MMS) THEN MAKETOOL = "MMS"
137: $ IF (MAKETOOL .NES. "") THEN GOTO HAVEMAKETOOL
138: $ COM = 1
139: $ MAK = F$TYPE(MAKE) .NES. ""
140: $ MMK = F$TYPE(MMK) .NES. ""
141: $ MMS = F$SEARCH("SYS$SYSTEM:MMS.EXE") .NES. ""
142: $ IF (COM) THEN MAKETOOL = "COM"
143: $ IF (MAK) THEN MAKETOOL = "MAKE"
144: $ IF (MMK) THEN MAKETOOL = "MMK"
145: $ IF (MMS) THEN MAKETOOL = "MMS"
146: $HAVEMAKETOOL:
147: $ !
148: $ ! Check if the system has DECWindows.
149: $ !
150: $ DECW = F$TRNLNM("DECW$INCLUDE") .NES. ""
151: $ !
152: $ ! Get the architecture.
153: $ !
154: $ ALPHA = F$GETSYI("HW_MODEL") .GE. 1024
155: $ !
156: $ ! Define symbols for things that vary with compiler: RTL (run time library),
157: $ ! DPML (Digital Portable Math Library), and __CRTL_VER (DECC RTL version).
158: $ !
159: $ DECC = 0
160: $ GNUC = 0
161: $ VAXC = 0
162: $ GOTO 'COMPILER'
163: $ !
164: $DECC:
165: $ DECC = 1
166: $ RTL = "DECCRTL"
167: $ DPML = F$SEARCH("SYS$LIBRARY:DPML$SHR.EXE") .NES. ""
168: $ IF (DECC$CRTL) THEN DEFINE/NOLOG DECC$CRTLMAP SYS$LIBRARY:DECC$CRTL.EXE
169: $ EXTRALIB = ""
170: $ IF (DECC$CRTL) THEN EXTRALIB = ",SYS$LIBRARY:DECC$CRTL.OLB/LIBRARY"
171: $ CC/OBJECT=DEFINE_CRTL_VER.OBJ SYS$INPUT
172: #include <stdlib.h>
173: #include <stdio.h>
174: #include <descrip.h>
175: #include <lib$routines.h>
176: #ifndef __CRTL_VER
177: # define __CRTL_VER __VMS_VER
178: #endif
179: main () {
180: static $DESCRIPTOR(crtl,"__CRTL_VER");
181: struct dsc$descriptor_s val = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0};
182: static int tab = {1};
183: char str[10];
184: val.dsc$w_length = sprintf (str, "%d", __CRTL_VER);
185: val.dsc$a_pointer = str;
186: exit (lib$set_symbol (&crtl, &val, &tab));
187: }
188: $ LINK/EXECUTABLE=DEFINE_CRTL_VER.EXE DEFINE_CRTL_VER.OBJ'EXTRALIB'
189: $ RUN DEFINE_CRTL_VER.EXE
190: $ DELETE/NOCONFIRM/NOLOG DEFINE_CRTL_VER.OBJ;*,DEFINE_CRTL_VER.EXE;*
191: $ IF (DECC$CRTL) THEN DEASSIGN DECC$CRTLMAP
192: $ __CRTL_VER = F$INTEGER(__CRTL_VER)
193: $ GOTO COMPILERDONE
194: $ !
195: $GNUC:
196: $ GNUC = 1
197: $ IF (ALPHA) THEN RTL = "DECCRTL"
198: $ IF (.NOT. ALPHA) THEN RTL = "VAXCRTL"
199: $ IF (ALPHA) THEN DPML = F$SEARCH("SYS$LIBRARY:DPML$SHR.EXE") .NES. ""
200: $ IF (.NOT. ALPHA) THEN DPML = 0
201: $ __CRTL_VER = 0
202: $ GOTO COMPILERDONE
203: $ !
204: $VAXC:
205: $ VAXC = 1
206: $ RTL = "VAXCRTL"
207: $ DPML = 0
208: $ __CRTL_VER = 0
209: $ GOTO COMPILERDONE
210: $ !
211: $COMPILERDONE:
212: $ !
213: $ WRITE SYS$OUTPUT "Compiler: ", COMPILER
214: $ WRITE SYS$OUTPUT "Make Tool: ", MAKETOOL
215: $ WRITE SYS$OUTPUT "Run time library: ", RTL
216: $ IF (__CRTL_VER .NE. 0) THEN WRITE SYS$OUTPUT "CRTL version: ", __CRTL_VER
217: $ WRITE SYS$OUTPUT "Use DECC$CRTL: ", DECC$CRTL
218: $ WRITE SYS$OUTPUT "Use readline: ", READLINE
219: $ !
220: $ ! Read in config.hin and write config.h. Define DCL symbols for all the
221: $ ! symbols in config.hin, then write config.h, replacing the #undef with
222: $ ! #define where necessary. Defining a symbol as 0 means to leave it #undef;
223: $ ! defining it as 1 means to define it; defining it as a string means it
224: $ ! should be defined as a string.
225: $ !
226: $ const = 0
227: $ HAVE_STRINGIZE = DECC
228: $ inline = 0
229: $ RETSIGTYPE = "void"
230: $ size_t = 0
231: $ STAT_MACROS_BROKEN = 0
232: $ STDC_HEADERS = DECC
233: $ X_DISPLAY_MISSING = 0
234: $ time_t = 0
235: $ HAVE_ATEXIT = DECC
236: $ HAVE_BCOPY = DECC
237: $ HAVE_BZERO = DECC
238: $ HAVE_DOPRNT = 0
239: $ HAVE_ERF = DPML
240: $ HAVE_ERFC = DPML
241: $ HAVE_GAMMA = 0
242: $ HAVE_GETCWD = 1
243: $ HAVE_INDEX = DECC
244: $ HAVE_LGAMMA = DECC .AND. ALPHA
245: $ HAVE_MEMCPY = DECC
246: $ HAVE_MEMMOVE = DECC
247: $ HAVE_MEMSET = DECC
248: $ HAVE_ON_EXIT = 0
249: $ HAVE_PCLOSE = __CRTL_VER .GE. 70000000
250: $ HAVE_POLL = 0
251: $ HAVE_POPEN = __CRTL_VER .GE. 70000000
252: $ HAVE_RINDEX = DECC
253: $ HAVE_SELECT = 0
254: $ HAVE_SETVBUF = DECC
255: $ HAVE_SLEEP = 1
256: $ HAVE_SNPRINTF = 0
257: $ HAVE_STRCHR = DECC
258: $ HAVE_STRCSPN = DECC
259: $ HAVE_STRDUP = __CRTL_VER .GE. 70000000
260: $ HAVE_STRERROR = DECC
261: $ HAVE_STRNCASECMP = __CRTL_VER .GE. 70000000
262: $ HAVE_STRNICMP = 0
263: $ HAVE_STRRCHR = DECC
264: $ HAVE_STRSTR = DECC
265: $ HAVE_SYSINFO = 0
266: $ HAVE_TCGETATTR = 0
267: $ HAVE_VFPRINTF = 0
268: $ HAVE_ERRNO_H = DECC
269: $ HAVE_FLOAT_H = DECC
270: $ HAVE_LIBC_H = 0
271: $ HAVE_LIMITS_H = DECC
272: $ HAVE_LOCALE_H = DECC
273: $ HAVE_MALLOC_H = 0
274: $ HAVE_MATH_H = DECC
275: $ HAVE_POLL_H = 0
276: $ HAVE_SGTTY_H = 0
277: $ HAVE_STDLIB_H = DECC
278: $ HAVE_STRING_H = DECC
279: $ HAVE_SYS_BSDTYPES_H = 0
280: $ HAVE_SYS_IOCTL_H = DECC
281: $ HAVE_SYS_PARAM_H = 0
282: $ HAVE_SYS_SELECT_H = 0
283: $ HAVE_SYS_SOCKET_H = DECC
284: $ HAVE_SYS_STAT_H = DECC
285: $ HAVE_SYS_SYSTEMINFO_H = 0
286: $ HAVE_SYS_TIME_H = DECC
287: $ HAVE_SYS_TIMEB_H = DECC
288: $ HAVE_SYS_TYPES_H = DECC
289: $ HAVE_SYS_UTSNAME_H = __CRTL_VER .GE. 70000000
290: $ HAVE_TERMIOS_H = 0
291: $ HAVE_TIME_H = DECC
292: $ HAVE_UNISTD_H = DECC
293: $ HAVE_VALUES_H = 0
294: $ HAVE_LIBM = DECC
295: $ PACKAGE = 0
296: $ VERSION = 0
297: $ PROTOTYPES = DECC
298: $ X11 = DECW
299: $ MSDOS = 0
300: $ DOS32 = 0
301: $ DJSVGA = 0
302: $ GRX21 = 0
303: $ EXTERN_ERRNO = 0
304: $ PIPES = __CRTL_VER .LT. 70000000
305: $ fd_set_size_t = 0
306: $ fd_set = 0
307: $ SELECT_FD_SET_CAST = 0
308: $ LINUXVGA = 0
309: $ HAVE_LIBREADLINE = 0
310: $ GNUPLOT_HISTORY = 0
311: $ ! READLINE = 0 ! READLINE is defined above
312: $ UNIXPLOT = 0
313: $ HAVE_PLOTCOMPAT_H = 0
314: $ GNUGRAPH = 0
315: $ GNU_PLOTUTILS = 0
316: $ HAVE_LIBGD = 0
317: $ HAVE_LIBPNG = 0
318: $ CGI = 0
319: $ SUN = 0
320: $ NOCWDRC = 0
321: $ THIN_PLATE_SPLINES_GRID = 0
322: $ COLUMN_HELP = 0
323: $ IRIS = 0
324: $ MGR = 0
325: $ RGIP = 0
326: $ !
327: $ OPEN/READ IN CONFIG.HIN
328: $ OPEN/WRITE OUT CONFIG.H
329: $CONFIGLOOP:
330: $ READ/END=CONFIGDONE IN REC
331: $ IF (F$ELEMENT(0," ",REC) .NES. "#undef") THEN GOTO WRITELINE
332: $ SYM = F$ELEMENT(1," ",REC)
333: $ IF (F$TYPE('SYM') .EQS. "") THEN GOTO NOSYMBOL
334: $ VAL = 'SYM'
335: $ IF (F$TYPE(VAL) .EQS. "STRING" .OR. VAL .NE. 0) THEN -
336: REC = "#define " + SYM + " " + F$STRING(VAL)
337: $ GOTO WRITELINE
338: $NOSYMBOL:
339: $ WRITE SYS$OUTPUT "No DCL symbol for ", REC
340: $WRITELINE:
341: $ WRITE OUT REC
342: $ GOTO CONFIGLOOP
343: $CONFIGDONE:
344: $ CLOSE IN
345: $ CLOSE OUT
346: $ !
347: $ ! Get a list of files from makefile.all. Skip lines until I find
348: $ ! COREOBJS =, then read and extract the file names until I find a line
349: $ ! that does not end in \.
350: $ !
351: $ OPEN/READ IN MAKEFILE.ALL
352: $FILELOOP1:
353: $ READ/END=DONE IN REC
354: $ IF (F$EXTRACT(0,8,REC) .NES. "COREOBJS") THEN GOTO FILELOOP1
355: $ REC = REC - "COREOBJS" - "="
356: $ REC = REC - ".$(O)" - ".$(O)" - ".$(O)" - ".$(O)" - ".$(O)" - ".$(O)"
357: $ COREOBJS = F$EDIT (REC-"\", "TRIM,COMPRESS")
358: $ IF (F$ELEMENT(1,"\",REC) .EQS. "\") THEN GOTO FILELOOPDONE
359: $FILELOOP2:
360: $ READ/END=DONE IN REC
361: $ REC = REC - ".$(O)" - ".$(O)" - ".$(O)" - ".$(O)" - ".$(O)" - ".$(O)"
362: $ COREOBJS = COREOBJS + " " + F$EDIT (REC-"\", "TRIM,COMPRESS")
363: $ IF (F$ELEMENT(1,"\",REC) .NES. "\") THEN GOTO FILELOOP2
364: $FILELOOPDONE:
365: $ CLOSE IN
366: $ IF (.NOT. READLINE) THEN COREOBJS = COREOBJS - "readline " - " readline"
367: $ !
368: $ ! List of terminal files; all are in [.term] and have an extension of .trm.
369: $ !
370: $ CORETERM = "aed cgi dumb dxf dxy eepic epson fig hp26 hp2648 hpgl hpljii " -
371: + "imagen iris4d kyo latex pbm pc post qms regis sun t410x tek " -
372: + "unixpc unixplot v384 x11"
373: $ OTHERTERM = "[.term]impcodes.h [.term]object.h gplt_x11.c"
374: $ !
375: $ ! Define CFLAGS.
376: $ !
377: $ CFLAGS = "/DEFINE=(NO_GIH,HAVE_CONFIG_H,''RTL')/INCLUDE=[-]"
378: $ IF (DECC) THEN CFLAGS = CFLAGS + "/PREFIX=ALL"
379: $ !
380: $ ! Write the make file.
381: $ !
382: $ GOTO 'MAKETOOL'
383: $MMS:
384: $MMK:
385: $ OPEN/WRITE MAKE DESCRIP.MMS
386: $ GOTO WRITEMAKE
387: $MAK:
388: $ OPEN/WRITE MAKE MAKEFILE.
389: $ GOTO WRITEMAKE
390: $COM:
391: $ OPEN/WRITE MAKE BUILD.COM
392: $ GOTO WRITECOM
393: $MAKEFILEDONE:
394: $ CLOSE MAKE
395: $ !
396: $ ! Write the option files
397: $ !
398: $ OPEN/WRITE OPT GNUPLOT.OPT
399: $ N = 0
400: $OPTLOOP:
401: $ FILE = F$ELEMENT (N, " ", COREOBJS)
402: $ IF (FILE .EQS. " ") THEN GOTO OPTDONE
403: $ WRITE OPT FILE, ".obj"
404: $ N = N + 1
405: $ GOTO OPTLOOP
406: $OPTDONE:
407: $ WRITE OPT "version.obj"
408: $ CLOSE OPT
409: $ IF (RTL .EQS. "DECCRTL") THEN GOTO NOVAXCOPT
410: $ OPEN/WRITE OPT VAXC.OPT
411: $ WRITE OPT "sys$library:vaxcrtl.exe/share"
412: $ CLOSE OPT
413: $NOVAXCOPT:
414: $ IF (.NOT. DECW) THEN GOTO NODECW
415: $ OPEN/WRITE OPT X11.OPT
416: $ WRITE OPT "sys$library:decw$xlibshr.exe/share"
417: $ CLOSE OPT
418: $NODECW:
419: $ EXIT
420: $ !
421: $WRITEMAKE:
422: $ WRITE MAKE "O = obj"
423: $ WRITE MAKE "X = exe"
424: $ IF (VAXC) THEN WRITE MAKE "CC = CC"
425: $ IF (VAXC) THEN WRITE MAKE "EXTRALIB ="
426: $ IF (GNUC) THEN WRITE MAKE "CC = GCC/NOCASE"
427: $ IF (GNUC) THEN WRITE MAKE "CRTL_SHARE ="
428: $ IF (GNUC) THEN WRITE MAKE "EXTRALIB = ,GNU_CC:[000000]GCCLIB/LIB"
429: $ IF (DECC) THEN WRITE MAKE "CC = CC"
430: $ IF (DECC .AND. .NOT. DECC$CRTL) THEN WRITE MAKE "EXTRALIB ="
431: $ IF (DECC .AND. DECC$CRTL) THEN -
432: WRITE MAKE "EXTRALIB = ,SYS$LIBRARY:DECC$CRTL.OLB/LIBRARY"
433: $ IF (RTL .EQS. "VAXCRTL") THEN -
434: WRITE MAKE "CRTL_SHARE = ,SYS$DISK:[]VAXC.OPT/OPT"
435: $ IF (RTL .NES. "VAXCRTL") THEN WRITE MAKE "CRTL_SHARE ="
436: $ WRITE MAKE "CFLAGS = ", CFLAGS
437: $ WRITE MAKE "TERMFLAGS = /INCLUDE=([-],[.TERM])"
438: $ WRITE MAKE ""
439: $ WRITE MAKE "OBJS = \"
440: $ N = 0
441: $WRITEMAKE_L1:
442: $ FILE = F$ELEMENT (N, " ", COREOBJS)
443: $ IF (FILE .EQS. " ") THEN GOTO WRITEMAKE_D1
444: $ WRITE MAKE " ", FILE, ".$(O) \"
445: $ N = N + 1
446: $ GOTO WRITEMAKE_L1
447: $WRITEMAKE_D1:
448: $ WRITE MAKE " version.$(O) vms.$(O)"
449: $ WRITE MAKE ""
450: $ WRITE MAKE "TERM = \"
451: $ N = 0
452: $WRITEMAKE_L2:
453: $ FILE = F$ELEMENT (N, " ", CORETERM)
454: $ IF (FILE .EQS. " ") THEN GOTO WRITEMAKE_D2
455: $ WRITE MAKE " [.term]", FILE, ".trm \"
456: $ N = N + 1
457: $ GOTO WRITEMAKE_L2
458: $WRITEMAKE_D2:
459: $ WRITE MAKE " ", OTHERTERM
460: $ WRITE MAKE ""
461: $ ALL = ""
462: $ IF (DECC$CRTL) THEN ALL = ALL + " logicals"
463: $ ALL = ALL + " gnuplot.$(X)"
464: $ IF (DECW) THEN ALL = ALL + " gnuplot_x11.$(X)"
465: $ ALL = ALL + " gnuplot.hlp gnuplot.hlb \"
466: $ WRITE MAKE "all : ", ALL
467: $ WRITE MAKE " [.demo]binary1. [.demo]binary2. [.demo]binary3."
468: $ WRITE MAKE " @ ! a no-op to suppress a MMS warning"
469: $ WRITE MAKE ""
470: $ IF (DECC$CRTL) THEN WRITE MAKE "logicals :"
471: $ IF (DECC$CRTL) THEN -
472: WRITE MAKE " @ define/nolog decc$crtlmap sys$library:decc$crtl.exe"
473: $ WRITE MAKE ""
474: $ COPY SYS$INPUT: MAKE
475: $ DECK
476:
477: gnuplot.$(X) : $(OBJS)
478: link /executable=gnuplot.$(X) \
479: vms.$(O),gnuplot.opt/option$(EXTRALIB)$(CRTL_SHARE)
480:
481: gnuplot_x11.$(X) : gplt_x11.$(O) stdfn.$(O)
482: link /executable=gnuplot_x11.$(X) \
483: gplt_x11.$(O),stdfn.$(O),x11.opt/option$(EXTRALIB)$(CRTL_SHARE)
484:
485: gplt_x11.$(O) : gplt_x11.c
486: $(CC) $(CFLAGS) $(X11FLAGS) $<
487:
488: [.demo]binary1. [.demo]binary2. [.demo]binary3. : bf_test.$(X)
489: set default [.demo]
490: run [-]bf_test.$(X)
491: set default [-]
492:
493: bf_test.$(X) : bf_test.$(O) binary.$(O) alloc.$(O)
494: link /executable=bf_test.$(X) bf_test.$(O),binary.$(O),alloc.$(O)
495:
496: gnuplot.hlb : gnuplot.hlp
497: library/create/help gnuplot.hlb gnuplot.hlp
498:
499: .IFDEF OLD_HLP
500: gnuplot.hlp : doc2hlp.$(X) [.docs]gnuplot.doc
501: define/user sys$input [.docs]gnuplot.doc
502: define/user sys$output []gnuplot.hlp
503: run doc2hlp.$(X)
504:
505: doc2hlp.$(X) : [.docs]doc2hlp.c [.docs]termdoc.c
506: $(CC) /include=([.docs],[],[.term]) \
507: [.docs]doc2hlp.c,[.docs]termdoc.c
508: link /executable=doc2hlp.$(X) doc2hlp.$(O),termdoc.$(O)$(CRTL_SHARE)
509: .ELSE
510: gnuplot.hlp : [.docs]gnuplot.rnh
511: RUNOFF $< /OUTPUT=$@
512:
513: [.docs]gnuplot.rnh : [.docs]doc2rnh.$(X) [.docs]gnuplot.doc
514: MCR $< [.docs]gnuplot.doc $@
515:
516: [.docs]doc2rnh.$(X) : [.docs]doc2rnh.$(O) [.docs]termdoc.$(O)
517: link /executable=$@ $+ $(CRTL_SHARE)
518:
519: [.docs]doc2rnh.$(O) [.docs]termdoc.$(O) : [.docs]termdoc.c ![.docs]allterm.h
520: $(CC) /object=$@ $(CFLAGS) /include=([],[-],[.term]) $*.c
521: .ENDIF
522:
523: term.$(O) : term.h term.c $(TERM)
524: $(CC) $(CFLAGS) $(TERMFLAGS) term.c /object=term.$(O)
525:
526: $(OBJS) : plot.h
527:
528: command.$(O) help.$(O) misc.$(O) : help.h
529:
530: command.$(O) graphics.$(O) graph3d.$(O) misc.$(O) plot.$(O) set.$(O) show.$(O) term.O interpol.$(O) : setshow.h
531:
532: command.$(O) fit.$(O) matrix.$(O) : fit.h
533:
534: fit.$(O) matrix.$(O) : matrix.h
535:
536: bitmap.$(O) term.$(O) : bitmap.h
537:
538: clean :
539: purge/log
540: delete/log *.$(O);*
541: delete/log *.$(X);*
542: delete/log gnuplot.hlp;*,gnuplot.hlb;*
543: delete/log [.docs]*.$(O);*,*.$(X);*,gnuplot.rnh;*
544: delete/log [.demo]binary1.;*,binary2.;*,binary3.;*
545: $EOD
546: $ GOTO MAKEFILEDONE
547: $ !
548: $WRITECOM:
549: $ WRITE MAKE -
550: "$ ! Command file to compile/link gnuplot, gnuplot_x11, and make gnuplot.hlb"
551: $ WRITE MAKE "$ !"
552: $ WRITE MAKE "$ on error then goto finish"
553: $ WRITE MAKE "$ O = ""obj"""
554: $ WRITE MAKE "$ X = ""exe"""
555: $ IF (VAXC) THEN WRITE MAKE "$ CC = ""CC"""
556: $ IF (VAXC) THEN WRITE MAKE "$ EXTRALIB = """
557: $ IF (GNUC) THEN WRITE MAKE "$ CC = ""GCC/NOCASE"""
558: $ IF (GNUC) THEN WRITE MAKE "$ CRTL_SHARE = """
559: $ IF (GNUC) THEN WRITE MAKE "$ EXTRALIB = "",GNU_CC:[000000]GCCLIB/LIB"""
560: $ IF (DECC) THEN WRITE MAKE "$ CC = ""CC"""
561: $ IF (DECC .AND. .NOT. DECC$CRTL) THEN WRITE MAKE "$ EXTRALIB = """""
562: $ IF (DECC .AND. DECC$CRTL) THEN -
563: WRITE MAKE "$ EXTRALIB = "",SYS$LIBRARY:DECC$CRTL.OLB/LIBRARY"""
564: $ IF (RTL .EQS. "VAXCRTL") THEN -
565: WRITE MAKE "$ CRTL_SHARE = "",SYS$DISK:[]VAXC.OPT/OPT"""
566: $ IF (RTL .NES. "VAXCRTL") THEN WRITE MAKE "$ CRTL_SHARE = """""
567: $ WRITE MAKE "$ CFLAGS = ""''CFLAGS'"""
568: $ WRITE MAKE "$ TERMFLAGS = ""/INCLUDE=([-],[.TERM])"""
569: $ IF (VAXC .AND. DECW) THEN WRITE MAKE "$ define/nolog x11 decw$include"
570: $ IF (VAXC .AND. DECW) THEN WRITE MAKE "$ define/nolog sys sys$library"
571: $ WRITE MAKE "$ set verify"
572: $ IF (DECC$CRTL) THEN -
573: WRITE MAKE "$ define/nolog decc$crtlmap sys$library:decc$crtl.exe"
574: $ N = 0
575: $WRITECOM_L1:
576: $ FILE = F$ELEMENT (N, " ", COREOBJS)
577: $ IF (FILE .EQS. " ") THEN GOTO WRITECOM_D1
578: $ IF (FILE .EQS. "term") THEN WRITE MAKE "$ cc 'CFLAGS' 'TERMFLAGS' ", FILE, ".c"
579: $ IF (FILE .NES. "term") THEN WRITE MAKE "$ cc 'CFLAGS' ", FILE, ".c"
580: $ N = N + 1
581: $ GOTO WRITECOM_L1
582: $WRITECOM_D1:
583: $ WRITE MAKE "$ cc 'CFLAGS' version.c"
584: $ WRITE MAKE "$ cc 'CFLAGS' vms.c"
585: $ IF (GNUC) THEN WRITE MAKE "$ cc 'CFLAGS' GNU_CC_INCLUDE:[000000]_assert.c"
586: $ WRITE MAKE "$ !"
587: $ WRITE MAKE "$ link /executable=gnuplot.exe -"
588: $ N = 0
589: $WRITECOM_L2:
590: $ FILE = F$ELEMENT (N, " ", COREOBJS)
591: $ IF (FILE .EQS. " ") THEN GOTO WRITECOM_D2
592: $ WRITE MAKE " ", FILE, ".obj, -"
593: $ N = N + 1
594: $ GOTO WRITECOM_L2
595: $WRITECOM_D2:
596: $ WRITE MAKE " version.obj,vms.obj'EXTRALIB' 'CTRL_SHARE'"
597: $ WRITE MAKE "$ cc 'CFLAGS' bf_test.c"
598: $ WRITE MAKE "$ link /executable=bf_test.exe -"
599: $ WRITE MAKE " bf_test.obj,binary.obj,alloc.obj'EXTRALIB' 'CTRL_SHARE'"
600: $ WRITE MAKE "$ cd [.demo]"
601: $ WRITE MAKE "$ run [-]bf_test.exe"
602: $ WRITE MAKE "$ cd [-]"
603: $ IF (DECW) THEN WRITE MAKE "$ cc 'CFLAGS' gplt_x11.c"
604: $ IF (DECW) THEN WRITE MAKE "$ cc 'CFLAGS' stdfn.c"
605: $ IF (DECW) THEN WRITE MAKE "$ link /executable=gnuplot_x11.exe -"
606: $ IF (DECW) THEN WRITE MAKE " gplt_x11.obj,stdfn.obj -"
607: $ IF (DECW) THEN WRITE MAKE " 'EXTRALIB' 'CTRL_SHARE',x11.opt/option"
608: $ COPY SYS$INPUT: MAKE
609: $ DECK
610: $ set def [.docs]
611: $ if f$locate("ALL_TERM_DOC",CFLAGS).ne.f$length(CFLAGS) then -
612: copy /concatenate [-.term]*.trm []allterm.h
613: $ cc 'CFLAGS' /OBJ=doc2rnh.obj/include=([],[-],[-.term]) doc2rnh.c
614: $ cc 'CFLAGS' /OBJ=termdoc.obj/include=([],[-],[-.term]) termdoc.c
615: $ SET DEF [-] ! CTRL_SHARE is defined as being in []
616: $ link [.docs]doc2rnh.obj,termdoc.obj /exe=[.docs]doc2rnh 'extralib''CTRL_SHARE'
617: $ doc2rnh := $sys$disk:[.docs]doc2rnh
618: $ doc2rnh [.docs]gnuplot.doc [.docs]gnuplot.rnh
619: $ RUNOFF [.docs]gnuplot.rnh
620: $ library/create/help sys$disk:[]gnuplot.hlb gnuplot.hlp
621: $!
622: $FINISH:
623: $EOD
624: $ WRITE MAKE "$ set noverify"
625: $ IF (VAXC .AND. DECW) THEN WRITE MAKE "$ deassign x11"
626: $ IF (VAXC .AND. DECW) THEN WRITE MAKE "$ deassign sys"
627: $ WRITE MAKE "$ exit"
628: $ GOTO MAKEFILEDONE
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>