|
| 1 | +! |
| 2 | +! 2013 March 9 |
| 3 | +! |
| 4 | +! The author disclaims copyright to this source code. In place of |
| 5 | +! a legal notice, here is a blessing: |
| 6 | +! |
| 7 | +! May you do good and not evil. |
| 8 | +! May you find forgiveness for yourself and forgive others. |
| 9 | +! May you share freely, never taking more than you give. |
| 10 | +! |
| 11 | +!*********************************************************************** |
| 12 | +! Build description file for OpenVMS VAX, Alpha and I64 version of |
| 13 | +! SQLite. |
| 14 | +! |
| 15 | +.IF "$(MMSARCH_NAME)" .EQ "Alpha" |
| 16 | +ARCH = AXP |
| 17 | +.ELSIF "$(MMSARCH_NAME)" .EQ "IA64" |
| 18 | +ARCH = I64 |
| 19 | +.ELSIF "$(MMSARCH_NAME)" .EQ "VAX" |
| 20 | +ARCH = VAX |
| 21 | +.ELSE |
| 22 | +.ERROR You must define the ARCH macro as one of: VAX, AXP or I64 |
| 23 | +.ENDIF |
| 24 | + |
| 25 | +MG_FACILITY = SQLITE3 |
| 26 | +.IFDEF __MADGOAT_BUILD__ |
| 27 | +BINDIR = MG_BIN:[$(MG_FACILITY)] |
| 28 | +ETCDIR = MG_ETC:[$(MG_FACILITY)] |
| 29 | +KITDIR = MG_KIT:[$(MG_FACILITY)] |
| 30 | +SRCDIR = MG_SRC:[$(MG_FACILITY)] |
| 31 | +.ELSE |
| 32 | +BINDIR = SYS$DISK:[.BIN-$(ARCH)] |
| 33 | +ETCDIR = SYS$DISK:[.ETC-$(ARCH)] |
| 34 | +KITDIR = SYS$DISK:[.KIT-$(ARCH)] |
| 35 | +SRCDIR = SYS$DISK:[] |
| 36 | +.ENDIF |
| 37 | + |
| 38 | +.FIRST |
| 39 | +.IFDEF __VAX__ |
| 40 | + @ IF (F$SEARCH("SYS$COMMON:[GCC]LOGIN.COM") .NES. "") THEN - |
| 41 | + @SYS$COMMON:[GCC]LOGIN |
| 42 | + @ IF (F$SEARCH("SYS$COMMON:[GCC]LOGIN.COM") .EQS. "") THEN - |
| 43 | + WRITE SYS$OUTPUT "%F, this software will not build without GCC for VAX" |
| 44 | +.ENDIF |
| 45 | + @ IF F$PARSE("$(BINDIR)") .EQS. "" THEN CREATE/DIR $(BINDIR) |
| 46 | + @ DEFINE/NOLOG BIN_DIR $(BINDIR) |
| 47 | + @ IF F$PARSE("$(ETCDIR)") .EQS. "" THEN CREATE/DIR $(ETCDIR) |
| 48 | + @ DEFINE/NOLOG ETC_DIR $(ETCDIR) |
| 49 | + @ IF F$PARSE("$(KITDIR)") .EQS. "" THEN CREATE/DIR $(KITDIR) |
| 50 | + @ DEFINE/NOLOG KIT_DIR $(KITDIR) |
| 51 | + @ DEFINE/NOLOG SRC_DIR $(SRCDIR) |
| 52 | + |
| 53 | +MUNG = EDIT/TECO/EXECUTE= |
| 54 | + |
| 55 | +OPT = .$(ARCH)_OPT |
| 56 | +CFLAGS = $(CFLAGS)/NAME=AS_IS |
| 57 | + |
| 58 | +.IFDEF __VAX__ |
| 59 | +CC = GCC |
| 60 | +CFLAGS = $(CFLAGS)/OPT=2/SCAN=$(ETCDIR)CONFIG.H |
| 61 | +MFLAGS = $(MFLAGS)/NAMES=DEFINITIONS=BOTH |
| 62 | +VEC = $(BINDIR)SQLITE3_VECTOR.OBJ,$(BINDIR)SQLITE3_ALIASES.OBJ |
| 63 | +{$(SRCDIR)}.C{$(BINDIR)}.OBJ : |
| 64 | + $(CC)$(CFLAGS) $(MMS$SOURCE) |
| 65 | +LINKFLAGS = $(LINKFLAGS)/NOSYSSHR/NOSYSLIB |
| 66 | +.ELSE |
| 67 | +CFLAGS = $(CFLAGS)/WARN=DISABLE=(LONGEXTERN,EMPTYFILE) - |
| 68 | + /FIRST_INCLUDE=$(ETCDIR)CONFIG.H/FLOAT=IEEE_FLOAT |
| 69 | +VEC = $(SRCDIR)SQLITE3_VECTOR$(OPT) |
| 70 | +{$(SRCDIR)}.C{$(BINDIR)}.OBJ : |
| 71 | + $(CC)$(CFLAGS) $(MMS$SOURCE)+SYS$LIBRARY:SYS$LIB_C/LIB |
| 72 | + |
| 73 | +.ENDIF |
| 74 | + |
| 75 | +OBJECTS = $(BINDIR)ALTER.OBJ,$(BINDIR)ANALYZE.OBJ,$(BINDIR)ATTACH.OBJ,- |
| 76 | + $(BINDIR)AUTH.OBJ,$(BINDIR)BACKUP.OBJ,$(BINDIR)BITVEC.OBJ,- |
| 77 | + $(BINDIR)BTMUTEX.OBJ,$(BINDIR)BTREE.OBJ,$(BINDIR)BUILD.OBJ,- |
| 78 | + $(BINDIR)CALLBACK.OBJ,$(BINDIR)COMPLETE.OBJ,$(BINDIR)CTIME.OBJ,- |
| 79 | + $(BINDIR)DATE.OBJ,$(BINDIR)DELETE.OBJ,$(BINDIR)EXPR.OBJ,- |
| 80 | + $(BINDIR)FAULT.OBJ,$(BINDIR)FKEY.OBJ,$(BINDIR)FTS3.OBJ,- |
| 81 | + $(BINDIR)FTS3_AUX.OBJ,$(BINDIR)FTS3_EXPR.OBJ,- |
| 82 | + $(BINDIR)FTS3_HASH.OBJ,$(BINDIR)FTS3_PORTER.OBJ,- |
| 83 | + $(BINDIR)FTS3_SNIPPET.OBJ,$(BINDIR)FTS3_TOKENIZER.OBJ,- |
| 84 | + $(BINDIR)FTS3_TOKENIZER1.OBJ,$(BINDIR)FTS3_WRITE.OBJ,- |
| 85 | + $(BINDIR)FUNC.OBJ,$(BINDIR)GLOBAL.OBJ,$(BINDIR)HASH.OBJ,- |
| 86 | + $(BINDIR)INSERT.OBJ,$(BINDIR)JOURNAL.OBJ,$(BINDIR)LEGACY.OBJ,- |
| 87 | + $(BINDIR)LOADEXT.OBJ,$(BINDIR)MAIN.OBJ,$(BINDIR)MALLOC.OBJ,- |
| 88 | + $(BINDIR)MEMJOURNAL.OBJ,$(BINDIR)MEMVMS.OBJ,$(BINDIR)MUTEX.OBJ,- |
| 89 | + $(BINDIR)MUTEX_NOOP.OBJ,$(BINDIR)MUTEX_VMS.OBJ,- |
| 90 | + $(BINDIR)NOTIFY.OBJ,$(BINDIR)OPCODES.OBJ,- |
| 91 | + $(BINDIR)OS.OBJ,$(BINDIR)OS_VMS.OBJ,$(BINDIR)PAGER.OBJ,- |
| 92 | + $(BINDIR)PARSE.OBJ,$(BINDIR)PCACHE.OBJ,$(BINDIR)PCACHE1.OBJ,- |
| 93 | + $(BINDIR)PRAGMA.OBJ,$(BINDIR)PREPARE.OBJ,$(BINDIR)PRINTF.OBJ,- |
| 94 | + $(BINDIR)RANDOM.OBJ,$(BINDIR)RESOLVE.OBJ,$(BINDIR)ROWSET.OBJ,- |
| 95 | + $(BINDIR)RTREE.OBJ,$(BINDIR)SELECT.OBJ,$(BINDIR)STATUS.OBJ,- |
| 96 | + $(BINDIR)TABLE.OBJ,$(BINDIR)TOKENIZE.OBJ,$(BINDIR)TRIGGER.OBJ,- |
| 97 | + $(BINDIR)UPDATE.OBJ,$(BINDIR)UTF.OBJ,$(BINDIR)UTIL.OBJ,- |
| 98 | + $(BINDIR)VACUUM.OBJ,$(BINDIR)VDBE.OBJ,$(BINDIR)VDBEAPI.OBJ,- |
| 99 | + $(BINDIR)VDBEAUX.OBJ,$(BINDIR)VDBEBLOB.OBJ,$(BINDIR)VDBEMEM.OBJ,- |
| 100 | + $(BINDIR)VDBESORT.OBJ,$(BINDIR)VDBETRACE.OBJ,$(BINDIR)VTAB.OBJ,- |
| 101 | + $(BINDIR)WAL.OBJ,$(BINDIR)WALKER.OBJ,$(BINDIR)WHERE.OBJ |
| 102 | + |
| 103 | +$(BINDIR)SQLITE3.EXE : $(ETCDIR)CONFIG.H,- |
| 104 | + $(BINDIR)SHELL.OBJ,$(BINDIR)VMSSHELL.OBJ,- |
| 105 | + $(BINDIR)SQLITE3_SHR.EXE,- |
| 106 | + $(SRCDIR)SQLITE3$(OPT),$(ETCDIR)VERSION.OPT |
| 107 | + < DEFINE/USER SQLITE3_SHR BIN_DIR:SQLITE3_SHR.EXE |
| 108 | + $(LINK)$(LINKFLAGS)/EXE=$(MMS$TARGET)/NOTRACEBACK/MAP=$(ETCDIR)- |
| 109 | + /CROSS/FULL $(SRCDIR)SQLITE3$(OPT)/OPT,$(ETCDIR)VERSION.OPT/OPT |
| 110 | + |
| 111 | +$(BINDIR)SQLITE3_SHR.EXE : $(ETCDIR)CONFIG.H,- |
| 112 | + $(BINDIR)SQLITE3.OLB($(OBJECTS)),$(VEC),- |
| 113 | + $(SRCDIR)SQLITE3_SHR$(OPT),$(ETCDIR)VERSION.OPT |
| 114 | + $(LINK)/SHARE=$(MMS$TARGET)/MAP=$(ETCDIR)/CROSS/FULL- |
| 115 | + $(SRCDIR)SQLITE3_SHR$(OPT)/OPT,$(ETCDIR)VERSION.OPT/OPT,- |
| 116 | + $(SRCDIR)SQLITE3_VECTOR$(OPT)/OPT |
| 117 | + |
| 118 | +$(ETCDIR)VERSION.OPT : $(SRCDIR)SQLITE3.H |
| 119 | + @MAKE_VERSION $(MMS$SOURCE) $(MMS$TARGET) |
| 120 | + |
| 121 | +$(BINDIR)SQLITE3_VECTOR.OBJ : $(SRCDIR)SQLITE3_VECTOR.MAR |
| 122 | +$(BINDIR)SQLITE3_ALIASES.OBJ : $(SRCDIR)SQLITE3_ALIASES.S |
| 123 | + GAS -h 3 -o $(MMS$TARGET) $(MMS$SOURCE) |
| 124 | + |
| 125 | +$(ETCDIR)CONFIG.H : $(SRCDIR)DESCRIP.MMS |
| 126 | + @ CLOSE/NOLOG S3P |
| 127 | + @ OPEN/WRITE S3P ETC_DIR:CONFIG.H |
| 128 | + @ WRITE S3P "#define SQLITE_OMIT_WAL 1" |
| 129 | + @ WRITE S3P "#define SQLITE_DEFAULT_PAGE_SIZE 512" |
| 130 | + @ WRITE S3P "#define SQLITE_DEFAULT_SECTOR_SIZE 512" |
| 131 | + @ WRITE S3P "#define SQLITE_ENABLE_ATOMIC_WRITE 1" |
| 132 | + @ WRITE S3P "#define SQLITE_THREADSAFE 1" |
| 133 | + @ WRITE S3P "#undef SQLITE_MUTEX_NOOP" |
| 134 | + @ WRITE S3P "#define SQLITE_FILE_FORMAT 4" |
| 135 | + @ WRITE S3P "#define SQLITE_ENABLE_LOCKING_STYLE 0" |
| 136 | + @ WRITE S3P "#define SQLITE_DISABLE_LFS 1" |
| 137 | + @ WRITE S3P "#define SQLITE_CORE 1" |
| 138 | + @ WRITE S3P "#define SQLITE_OMIT_UTF16 1" |
| 139 | + @ WRITE S3P "#define SQLITE_SOUNDEX 1" |
| 140 | + @ WRITE S3P "#define SQLITE_ENABLE_STAT2 1" |
| 141 | + @ WRITE S3P "#define SQLITE_ENABLE_RTREE 1" |
| 142 | + @ WRITE S3P "#define SQLITE_ENABLE_COLUMN_METADATA 1" |
| 143 | + @ WRITE S3P "#define SQLITE_DEFAULT_FOREIGN_KEYS 1" |
| 144 | + @ WRITE S3P "#define SQLITE_ENABLE_FTS3 1" |
| 145 | + @ WRITE S3P "#define SQLITE_ENABLE_FTS3_PARENTHESIS 1" |
| 146 | + @ WRITE S3P "#ifndef SQLITE_API" |
| 147 | + @ WRITE S3P "# define SQLITE_API" |
| 148 | + @ WRITE S3P "#endif" |
| 149 | + @ CLOSE/NOLOG S3P |
| 150 | + @ TYPE $(MMS$TARGET) |
| 151 | + |
| 152 | +! |
| 153 | +! Generate intermediate symbol vector... |
| 154 | +! |
| 155 | +.IFNDEF __VAX__ |
| 156 | +.IF "$(FINDSTRING VECTOR,$(MMSTARGETS))" .EQ "VECTOR" |
| 157 | +$(SRCDIR)SYMBOL_VECTOR.TXT : $(SRCDIR)SQLITE3.H,- |
| 158 | + $(SRCDIR)MAKE_SYMBOL_VECTOR.TEC |
| 159 | + $(LIBR)/LIST=$(ETCDIR)SQLITE3.LIS/NAMES $(BINDIR)SQLITE3.OLB/OBJECT |
| 160 | + $(MUNG) MAKE_SYMBOL_VECTOR.TEC - |
| 161 | + "$(SRCDIR)SYMBOL_VECTOR.TXT=$(ETCDIR)SQLITE3.LIS" |
| 162 | + |
| 163 | +VECTOR : $(SRCDIR)SYMBOL_VECTOR.TXT |
| 164 | + @ CONTINUE |
| 165 | +.ELSE |
| 166 | +$(SRCDIR)SYMBOL_VECTOR.TXT : |
| 167 | + @ CONTINUE ! do we need message about possible rebuild with VECTOR target |
| 168 | +.ENDIF |
| 169 | +.ELSE |
| 170 | +$(SRCDIR)SYMBOL_VECTOR.TXT : |
| 171 | + @ WRITE SYS$OUTPUT "SYMBOL_VECTOR.TXT cannot be built on a VAX, yet..." |
| 172 | +.ENDIF |
| 173 | + |
| 174 | +! |
| 175 | +! VAX-specific transfer vector construction |
| 176 | +! |
| 177 | +$(SRCDIR)SQLITE3_VECTOR.MAR : $(SRCDIR)SYMBOL_VECTOR.TXT,- |
| 178 | + $(SRCDIR)MAKE_VAX_VECTOR.TEC |
| 179 | + $(MUNG) MAKE_VAX_VECTOR.TEC - |
| 180 | + "$(MMS$TARGET)=$(MMS$SOURCE) $(SRCDIR)SQLITE3_ALIASES.S" |
| 181 | + |
| 182 | +! |
| 183 | +! Alpha/I64-specific transfer vector construction |
| 184 | +! |
| 185 | +$(SRCDIR)SQLITE3_VECTOR.AXP_OPT : $(SRCDIR)SYMBOL_VECTOR.TXT,- |
| 186 | + $(SRCDIR)MAKE_LINKER_VECTOR.TEC |
| 187 | + $(MUNG) MAKE_LINKER_VECTOR.TEC "$(MMS$TARGET)=$(MMS$SOURCE)" |
| 188 | + |
| 189 | +$(SRCDIR)SQLITE3_VECTOR.I64_OPT : $(SRCDIR)SQLITE3_VECTOR.AXP_OPT |
| 190 | + COPY $(MMS$SOURCE) $(MMS$TARGET) |
| 191 | + |
| 192 | +$(SRCDIR)MAKE_SYMBOL_VECTOR.TEC : $(SRCDIR)MAKE_SYMBOL_VECTOR.TES |
| 193 | + $(MUNG) $(SRCDIR)SQU.TEC "/L:Y/B:Y/T:Y/C:Y/A:Y $(MMS$TARGET)=$(MMS$SOURCE)" |
| 194 | +$(SRCDIR)MAKE_LINKER_VECTOR.TEC : $(SRCDIR)MAKE_LINKER_VECTOR.TES |
| 195 | + $(MUNG) $(SRCDIR)SQU.TEC "/L:Y/B:Y/T:Y/C:Y/A:Y $(MMS$TARGET)=$(MMS$SOURCE)" |
| 196 | +$(SRCDIR)MAKE_VAX_VECTOR.TEC : $(SRCDIR)MAKE_VAX_VECTOR.TES |
| 197 | + $(MUNG) $(SRCDIR)SQU.TEC "/L:Y/B:Y/T:Y/C:Y/A:Y $(MMS$TARGET)=$(MMS$SOURCE)" |
| 198 | + |
| 199 | +CLEAN : |
| 200 | + - DELETE/NOLOG $(BINDIR)*.*;* |
| 201 | + - DELETE/NOLOG $(ETCDIR)*.*;* |
| 202 | + - DELETE/NOLOG $(KITDIR)*.*;* |
0 commit comments