Annotation of OpenXM_contrib/gnuplot/configure.vms, Revision 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>