[BACK]Return to configure.vms CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot

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>