|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 3421 (0xd5d)
Types: TextFile
Names: »make.com«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/euug-87hel/sec1/micrognu/sys/vms/make.com«
$ on error then goto trouble
$ on severe_error then goto trouble
$ default = f$trnlnm("SYS$DISK") + f$directory()
$!
$! Command procedure to build MicroGnuEmacs on VMS systems.
$!
$! Compile-time options you can set by appropriate assignments to
$! "ccomflags" and "linkflags". Defining these flags asks for
$! a particular feature.
$!
$! /DEFINE:"STARTUP" -- look for SYS$LOGIN:.MG startup file
$! /DEFINE:"FLOWCONTROL" -- use ^S, ^Q for flow control
$!
$! Set compilation and linking options. The first commented-out-line is
$! the set I use...
$ ccomflags := "/define:""STARTUP"" "
$! ccomflags := "/define:(""STARTUP"",""XKEYS"",""PREFIXREGION"") "
$! ccomflags := "/debug" ! if you want to debug the program
$!
$ linkflags := ""
$! linkflags := "/debug" ! to debug the program
$!
$! To make MG,
$!
$! Set def to the top level MicroGnuEmacs directory and type
$!
$! @[.SYS.VMS]MAKE
$!
$! to get things rolling.
$!
$!* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
$! Create the termcap library
$!
$ set def [.sys.vms.termcap]
$ @createlib.com
$ set def [---]
$!* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
$! Define a search path for source files. This is important
$! because
$! 1) The search path lets us to keep these files in
$! separate directories
$! 2) When searching for quoted #include files (e.g.
$! #include "def.h"), VAX C uses the default file
$! specification set up by the source file name.
$!
$! If we use mgsrc:foo.c, the search list becomes
$! part of the default file spec, and the compiler
$! can find the system- and terminal-specific
$! header files. This acts as a substitute for the
$! -I flag found on most Unix C compilers.
$!
$! A side effect of the search list is that the object files get
$! created in the top level directory, which I prefer.
$!
$ define mgsrc [],[.sys.vms],[.tty.termcap]
$!
$! Define alias for the compilation command. By default, use a
$! command file that checks revision dates and only compiles when
$! it has to. If you want to force a total recompile, switch the
$! comments around.
$!
$ ccom := @mgsrc:ccom
$! ccom := cc
$!
$! Compile all the basic files
$!
$ ccom mgsrc:basic 'ccomflags
$ ccom mgsrc:buffer 'ccomflags
$ ccom mgsrc:cinfo 'ccomflags
$ ccom mgsrc:display 'ccomflags
$ ccom mgsrc:echo 'ccomflags
$ ccom mgsrc:extend 'ccomflags
$ ccom mgsrc:file 'ccomflags
$ ccom mgsrc:kbd 'ccomflags
$ ccom mgsrc:line 'ccomflags
$ ccom mgsrc:main 'ccomflags
$ ccom mgsrc:match 'ccomflags
$ ccom mgsrc:paragraph 'ccomflags
$ ccom mgsrc:prefix 'ccomflags
$ ccom mgsrc:random 'ccomflags
$ ccom mgsrc:region 'ccomflags
$ ccom mgsrc:search 'ccomflags
$ ccom mgsrc:symbol 'ccomflags
$ ccom mgsrc:version 'ccomflags
$ ccom mgsrc:window 'ccomflags
$ ccom mgsrc:word 'ccomflags
$!
$! Compile the terminal interface
$!
$ ccom mgsrc:tty 'ccomflags
$ ccom mgsrc:ttykbd 'ccomflags
$!
$! Compile the VMS-specific files
$!
$ ccom mgsrc:fileio 'ccomflags
$ ccom mgsrc:spawn 'ccomflags
$ ccom mgsrc:trnlnm 'ccomflags
$ ccom mgsrc:ttyio 'ccomflags/define:"FLOWCONTROL=0"
$ macro mgsrc:bcopy
$!
$! Link the program
$!
$ @[.sys.vms]mglink "''linkflags'"
$!
$! We're done!
$!
$ write sys$output "MicroEmacs build completed."
$ set default 'default
$ exit
$!
$! Trouble somewhere -- go 'way
$!
$trouble:
$ write sys$output "Problem building MicroEmacs!!!!!"
$ set default 'default
$ exit