Changeset 46 for trunk/TOOLS/OS2/SETABOOT/Makefile
- Timestamp:
- Apr 12, 2014, 8:23:32 AM (11 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/TOOLS/OS2/SETABOOT/Makefile
r45 r46 1 1 ############################################################################### 2 # Makefile :: Builds FIXCODE program for several platforms.[wmake] #2 # Makefile :: Builds the SET(A)BOOT Helper for several platforms. [wmake] # 3 3 ############################################################################### 4 5 # 6 # This Makefile builds the FIXCODE program for DOS, Windows, OS/2 and Linux. 7 # FIXCODE is used to embed the anti-virus code into the AiR-BOOT image. 8 # This anti-virus code protects the MBR and is installed as a TSR by the 9 # loader. That's why it cannot be included at the source level. 4 # rousseau@ecomstation.com 5 # 6 # Derived from the INSTALL Makefile. 7 # 8 9 # 10 # This Makefile builds the SET(A)BOOT Helper for DOS, Windows, OS/2 and Linux. 11 # Like FIXCODE, each platform version has a letter appended it: 12 # 'D' for DOS, 'W' for Windows, '2' for OS/2 and 'L' for Linux. 10 13 # 11 14 … … 14 17 # This is used to compensate for the differences between the target platforms. 15 18 # 16 !include ../../ INCLUDE/MAKEFILE.MIF19 !include ../../../INCLUDE/MAKEFILE.MIF 17 20 18 21 … … 41 44 42 45 # 43 # Base Name of Program to build. 46 # Base Name of Source Program to compile. 47 # 48 BASENAME=SETABOOT 49 50 # 51 # Base Name of Executable Module to build. 44 52 # A letter is appended for each platform version: 45 53 # D=DOS, W=Windows, 2=OS2, L=Linux. 46 # The DOS COM-version has no suffix. 47 # 48 BASENAME=FIXCODE 54 # 55 MODULE=$(BASENAME) 49 56 50 57 # 51 58 # This is a list of the Targets to be built. 52 59 # 53 TARGETS=$(BASENAME).COM $(BASENAME)D.EXE $(BASENAME)W.EXE $(BASENAME)2.EXE $(BASENAME)L.ELF 54 #TARGETS=$(BASENAME)D.EXE 55 #TARGETS=$(BASENAME).COM 60 #TARGETS=$(MODULE)D.EXE $(MODULE)W.EXE $(MODULE)2.EXE $(MODULE)L.ELF 61 TARGETS=$(MODULE).EXE 56 62 57 63 # … … 78 84 # -zcw = no _ prefix on symbols (C model) 79 85 ASM_FLAGS_D0=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Cp -Fo$^. -Fl=$^&.LST -Fw$^&.ERR 80 ASM_FLAGS_D1=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q - Zd -Zi -Fo$^. -Sa -Fl=$^&.LST -Fw$^&.ERR81 ASM_FLAGS_D2=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q - Zd -Zi -Fo$^. -Sa -Fl=$^&.LST -Fw$^&.ERR86 ASM_FLAGS_D1=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Cp -Zd -Zi -Fo$^. -Sa -Fl=$^&.LST -Fw$^&.ERR 87 ASM_FLAGS_D2=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Cp -Zd -Zi -Fo$^. -Sa -Fl=$^&.LST -Fw$^&.ERR 82 88 !elseif "$(ASM)"=="wasm" 83 89 ASM_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -zq -fo=$^. -fr=$^&.ERR … … 86 92 !elseif "$(ASM)"=="tasm" 87 93 # -ml = case sensitive symbols 88 ASM_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -t - l89 ASM_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -t - z -zi -c -la90 ASM_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -t - z -zi -c -la94 ASM_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -t -ml -l 95 ASM_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -t -ml -z -zi -c -la 96 ASM_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -t -ml -z -zi -c -la 91 97 !elseif "$(ASM)"=="alp" 92 98 ASM_FLAGS_D0=-D:DEBUG_LEVEL=$(DEBUG_LEVEL) -D:ASSEMBLER=ALP -Mb +Feo:OBJ +Fl +Fel:LST +Fm +Fem:ERR … … 101 107 # 16-bits C Compiler 102 108 # 109 MM16=-ml 103 110 CC16=wcc 104 CC16_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -w4 -e25 -zq -od -fo=$^.105 CC16_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -d2 -w4 -e25 -zq -od -fo=$^.106 CC16_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -d2 -w4 -e25 -zq -od -fo=$^.111 CC16_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -w4 -e25 -zq -otexan -fo=$^. -fr=$^&.ERR 112 CC16_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -d2 -w4 -e25 -zq -od -fo=$^. -fr=$^&.ERR 113 CC16_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -d3 -w4 -e25 -zq -od -fo=$^. -fr=$^&.ERR 107 114 CC16_FLAGS=$(CC16_FLAGS_D$(DEBUG_LEVEL)) 108 115 … … 110 117 # 32-bits C Compiler 111 118 # 119 MM32=-mf 112 120 CC32=wcc386 113 CC32_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -w4 -e25 -zq -od -6r -mf -fo=$^. 114 CC32_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -d2 -w4 -e25 -zq -od -6r -mf -fo=$^. 115 CC32_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -d2 -w4 -e25 -zq -od -6r -mf -fo=$^. 116 CC32_FLAGS_R=-w4 -e25 -zq -od -6r -mf -fo=$^. 121 CC32_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -w4 -e25 -zq -otexan -6r -fo=$^. -fr=$^&.ERR 122 CC32_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -d2 -w4 -e25 -zq -od -6r -fo=$^. -fr=$^&.ERR 123 CC32_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -d3 -w4 -e25 -zq -od -6r -fo=$^. -fr=$^&.ERR 117 124 CC32_FLAGS=$(CC32_FLAGS_D$(DEBUG_LEVEL)) 118 125 … … 121 128 # 122 129 LNK=wlink 130 # 131 # DESCRIPTION does not work under WLink/Linux 132 # @ Cannot be escaped like with \x40 and it is still processed in quotes. 133 # WLink/2 can use the '\x40' variant. 134 # 135 #~ LNK_FLAGS_D0=op q op v op map=$^&.MAP op de '\x40\x23KIEWITZ:1.18\x23\x40\x41iR-BOOT Installer by Kiewitz' 123 136 LNK_FLAGS_D0=op q op v op map=$^&.MAP 137 #~ LNK_FLAGS_D1=op q op v d all & 138 #~ order clname CODE clname FAR_CONST clname FAR_DATA clnam BEGDATA clname DATA clname BSS clname STACK clname BLAP NOE & 139 #~ op map=$^&.MAP 124 140 LNK_FLAGS_D1=op q op v d all op map=$^&.MAP 125 141 LNK_FLAGS_D2=op q op v d all op map=$^&.MAP … … 172 188 @echo. 173 189 @echo ===================================================================== 174 @echo = PROGRAM: FIXCODE Multi Platform[DOS, Win32, OS/2 and Linux] =190 @echo = PROGRAM: SETABOOT Multi Platform [DOS, Win32, OS/2 and Linux] = 175 191 @echo ===================================================================== 176 192 # @echo. … … 229 245 230 246 # 231 # MAIN TARGETS 232 # 233 234 ############################################################################### 235 # DOS 16-bits (COM) 236 ############################################################################### 237 $(BASENAME).COM: $(BASENAME).OBJ 238 $(LNK) $(LNK_FLAGS) file $^&.OBJ name $^. sys dos com 239 @if exist $^. @echo $^. $(MSG_SUCCESS) 240 @echo. 241 242 $(BASENAME).OBJ: $(BASENAME).ASM 243 # @echo. 244 @echo TARGET: $^&.COM [DOS 16-bits COM-file] 245 $(ASM) $(ASM_FLAGS) $(BASENAME).ASM 246 @wdis $^. > $^&.WDA 247 248 249 ############################################################################### 250 # DOS 16-bits (MZ) 251 ############################################################################### 252 $(BASENAME)D.EXE: $(BASENAME)D.OBJ 253 $(LNK) $(LNK_FLAGS) file $^&.OBJ name $^. sys dos 254 @if exist $^. @echo $^. $(MSG_SUCCESS) 255 @echo. 256 257 $(BASENAME)D.OBJ: $(BASENAME).C $(BASENAME).H 258 # @echo. 259 @echo TARGET: $^&.EXE [DOS 16-bits Executable] 260 $(CC16) $(CC16_FLAGS) -bt=dos $(BASENAME).C 261 @wdis $^. > $^&.WDA 262 263 264 ############################################################################### 265 # NT 32-bits (PE) 266 ############################################################################### 267 $(BASENAME)W.EXE: $(BASENAME)W.OBJ 268 $(LNK) $(LNK_FLAGS) file $^&.OBJ name $^. sys nt 269 @if exist $^. @echo $^. $(MSG_SUCCESS) 270 @echo. 271 272 $(BASENAME)W.OBJ: $(BASENAME).C $(BASENAME).H 273 # @echo. 274 @echo TARGET: $^&.EXE [NT 32-bits Executable] 275 $(CC32) $(CC32_FLAGS) -I$(%WATCOM)$(DS)h$(DS)nt -bt=nt $(BASENAME).C 276 @wdis $^. > $^&.WDA 277 247 # MAIN TARGET 248 # 278 249 279 250 ############################################################################### 280 251 # OS/2 32-bits (LX) 281 252 ############################################################################### 282 $( BASENAME)2.EXE: $(BASENAME)2.OBJ253 $(MODULE).EXE: $(MODULE).OBJ 283 254 $(LNK) $(LNK_FLAGS) file $^&.OBJ name $^. sys os2v2 284 255 @if exist $^. @echo $^. $(MSG_SUCCESS) 285 256 @echo. 286 287 $(BASENAME)2.OBJ: $(BASENAME).C $(BASENAME).H 257 #~ wstrip $^. 258 259 $(MODULE).OBJ: $(BASENAME).C $(BASENAME).H 288 260 # @echo. 289 261 @echo TARGET: $^&.EXE [OS/2 32-bits Executable] 290 262 $(CC32) $(CC32_FLAGS) -I$(%WATCOM)$(DS)h$(DS)os2 -bt=os2 $(BASENAME).C 291 @wdis $^. > $^&.WDA 292 293 294 ############################################################################### 295 # Linux 32-bits (ELF) 296 ############################################################################### 297 $(BASENAME)L.ELF: $(BASENAME)L.OBJ 298 $(LNK) $(LNK_FLAGS) file $^&.OBJ name $^&.ELF sys linux 299 # $(MV) $^&.ELF $^. 300 @if exist $^. @echo $^. $(MSG_SUCCESS) 301 @echo. 302 303 $(BASENAME)L.OBJ: $(BASENAME).C $(BASENAME).H 304 # @echo. 305 @echo TARGET: $^&.ELF [Linux 32-bits Executable] 306 $(CC32) $(CC32_FLAGS) -bt=linux $(BASENAME).C 307 @wdis $^. > $^&.WDA 308 309 310 263 @wdis -fi $^. > $^&.WDA 311 264 312 265 … … 330 283 @if exist *.OBJ $(RM) *.OBJ 331 284 @if exist *.WDA $(RM) *.WDA 285 @if exist *.NDA $(RM) *.NDA 332 286 @if exist *.MAP $(RM) *.MAP 333 287 @if exist *.LST $(RM) *.LST
Note:
See TracChangeset
for help on using the changeset viewer.