-
Notifications
You must be signed in to change notification settings - Fork 9
/
compile.com
81 lines (81 loc) · 3.61 KB
/
compile.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
$ say = "write sys$output"
$ arch = F$GETSYI("ARCH_NAME")
$ mflag = ""
$ IF arch .NES. "VAX" THEN mflag = "/MIGRATION"
$
$ say ""
$ say " MMK Bootstrap Procedure"
$ say ""
$
$ DEFINE/NOLOG SRC_DIR SYS$DISK:[]
$ DEFINE/NOLOG BIN_DIR SYS$DISK:[.BIN-'arch']
$ DEFINE/NOLOG ETC_DIR SYS$DISK:[.ETC-'arch']
$ DEFINE/NOLOG KIT_DIR SYS$DISK:[.KIT-'arch']
$
$ IF F$PARSE("BIN_DIR:") .EQS. "" THEN CREATE/DIR BIN_DIR:
$ IF F$PARSE("ETC_DIR:") .EQS. "" THEN CREATE/DIR ETC_DIR:
$ IF F$PARSE("KIT_DIR:") .EQS. "" THEN CREATE/DIR KIT_DIR:
$
$ SET NOON
$ ON ERROR THEN GOTO BAIL_OUT
$ VERIFY = F$VERIFY(1)
$! If you have the SDL compiler installed, then feel free to uncomment the
$! lines below. However, it is not absolutely necessary as the resulting
$! header files are distributed with the source kit.
$!
$!$ MESSAGE/NOOBJECT/SDL=MMK_MSG.SDL MMK_MSG.MSG
$!$ SDL/VAX/LANGUAGE=CC=ETC_DIR:MMK_MSG.H MMK_MSG.SDL
$ LIBRARY/CREATE BIN_DIR:MMK.OLB
$ CC/NOLIST/OBJECT=BIN_DIR:MMK.OBJ MMK.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:MMK.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:FILEIO.OBJ FILEIO.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:FILEIO.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:MEM.OBJ MEM.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:MEM.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:GET_RDT.OBJ GET_RDT.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:GET_RDT.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:SP_MGR.OBJ SP_MGR.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:SP_MGR.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:MISC.OBJ MISC.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:MISC.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:OBJECTS.OBJ OBJECTS.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:OBJECTS.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:SYMBOLS.OBJ SYMBOLS.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:SYMBOLS.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:READDESC.OBJ READDESC.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:READDESC.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:BUILD_TARGET.OBJ BUILD_TARGET.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:BUILD_TARGET.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:PARSE_DESCRIP.OBJ PARSE_DESCRIP.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:PARSE_DESCRIP.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:CMS_INTERFACE.OBJ CMS_INTERFACE.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:CMS_INTERFACE.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:PARSE_OBJECTS.OBJ PARSE_OBJECTS.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:PARSE_OBJECTS.OBJ
$ arch_defs = f$search("SYS$LIBRARY:ARCH_DEFS.MAR")
$ if arch_defs.nes."" then arch_defs = arch_defs+"+"
$ MACRO'mflag'/NOLIST/OBJECT=BIN_DIR:PARSE_TABLES.OBJ -
'arch_defs'SYS$DISK:[]PARSE_TABLES.MAR
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:PARSE_TABLES.OBJ
$ MESSAGE/NOLIST/OBJECT=BIN_DIR:MMK_MSG.OBJ MMK_MSG.MSG
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:MMK_MSG.OBJ
$ SET COMMAND/NOLIST/OBJECT=BIN_DIR:MMK_CLD.OBJ MMK_CLD.CLD
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:MMK_CLD.OBJ
$ CC/NOLIST/OBJECT=BIN_DIR:MMK_COMPILE_RULES.OBJ MMK_COMPILE_RULES.C
$ CC/NOLIST/OBJECT=BIN_DIR:GENSTRUC.OBJ GENSTRUC.C
$ CC/NOLIST/OBJECT=BIN_DIR:STR.OBJ STR.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:STR.OBJ
$ SET COMMAND/NOLIST/OBJECT=BIN_DIR:MMK_COMPILE_RULES_CLD.OBJ -
MMK_COMPILE_RULES_CLD.CLD
$ LINK/EXEC=BIN_DIR:MMK_COMPILE_RULES.EXE/NOTRACE -
BIN_DIR:MMK_COMPILE_RULES.OBJ, -
BIN_DIR:GENSTRUC.OBJ,BIN_DIR:MMK_COMPILE_RULES_CLD.OBJ,-
BIN_DIR:MMK.OLB/LIB,SRC_DIR:MMK_COMPILE_RULES.'arch'_OPT/opt
$ MMKC := $BIN_DIR:MMK_COMPILE_RULES.EXE
$ MMKC/OUTPUT=ETC_DIR:MMK_DEFAULT_RULES.H MMK_DEFAULT_RULES_'arch'.MMS
$ CC/NOLIST/OBJECT=BIN_DIR:DEFAULT_RULES.OBJ DEFAULT_RULES.C
$ LIBRARY/REPLACE BIN_DIR:MMK.OLB BIN_DIR:DEFAULT_RULES.OBJ
$ LIBRARY/COMPRESS/OUTPUT=BIN_DIR:MMK.OLB BIN_DIR:MMK.OLB
$ LINK/EXEC=BIN_DIR:MMK.EXE/NOTRACE SRC_DIR:MMK.'arch'_OPT/OPT
$BAIL_OUT:
$ EXIT 1.or.(0*F$VERIFY(0))