Changeset 60 for trunk/tools/internal
- Timestamp:
- Feb 18, 2016, 5:18:51 PM (10 years ago)
- Location:
- trunk/tools/internal
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/internal/GNUmakefile
r37 r60 6 6 # Include the forwarder. 7 7 # 8 include ../../ INCLUDE/MAKEFRWD.MIF8 include ../../include/makefrwd.mif -
trunk/tools/internal/Makefile
r55 r60 1 1 ############################################################################### 2 # Makefile :: Builds FIXCODE program for several platforms.[wmake] #3 ############################################################################### 4 5 # 6 # This Makefile builds the FIXCODEprogram for DOS, Windows, OS/2 and Linux.7 # FIXCODEis used to embed the anti-virus code into the AiR-BOOT image.2 # Makefile :: Builds 'fixcode' program for several platforms. [wmake] # 3 ############################################################################### 4 5 # 6 # This Makefile builds the 'fixcode' program for DOS, Windows, OS/2 and Linux. 7 # It is used to embed the anti-virus code into the AiR-BOOT image. 8 8 # This anti-virus code protects the MBR and is installed as a TSR by the 9 9 # loader. That's why it cannot be included at the source level. … … 14 14 # This is used to compensate for the differences between the target platforms. 15 15 # 16 !include ../../ INCLUDE/MAKEFILE.MIF16 !include ../../include/makefile.mif 17 17 18 18 … … 46 46 # The DOS COM-version has no suffix. 47 47 # 48 BASENAME= FIXCODE48 BASENAME=fixcode 49 49 50 50 # 51 51 # This is a list of the Targets to be built. 52 52 # 53 #TARGETS=$(BASENAME) D.EXE54 #TARGETS=$(BASENAME). COM55 #TARGETS=$(BASENAME). COM $(BASENAME)D.EXE $(BASENAME)W.EXE $(BASENAME)2.EXE $(BASENAME)L.ELF56 TARGETS=$(BASENAME) D.EXE $(BASENAME)W.EXE $(BASENAME)2.EXE $(BASENAME)L.ELF53 #TARGETS=$(BASENAME)d.exe 54 #TARGETS=$(BASENAME).com 55 #TARGETS=$(BASENAME).com $(BASENAME)d.exe $(BASENAME)w.exe $(BASENAME)2.exe $(BASENAME)l.elf 56 TARGETS=$(BASENAME)d.exe $(BASENAME)w.exe $(BASENAME)2.exe $(BASENAME)l.elf 57 57 58 58 # … … 78 78 # -Cp = case sensitive symbols 79 79 # -zcw = no _ prefix on symbols (C model) 80 ASM_FLAGS_D0=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Cp -Fo$^. -Fl=$^&. LST -Fw$^&.ERR81 ASM_FLAGS_D1=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Zd -Zi -Fo$^. -Sa -Fl=$^&. LST -Fw$^&.ERR82 ASM_FLAGS_D2=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Zd -Zi -Fo$^. -Sa -Fl=$^&. LST -Fw$^&.ERR80 ASM_FLAGS_D0=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Cp -Fo$^. -Fl=$^&.lst -Fw$^&.err 81 ASM_FLAGS_D1=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Zd -Zi -Fo$^. -Sa -Fl=$^&.lst -Fw$^&.err 82 ASM_FLAGS_D2=-DDEBUG_LEVEL=$(DEBUG_LEVEL) -DASSEMBLER=JWASM -q -Zd -Zi -Fo$^. -Sa -Fl=$^&.lst -Fw$^&.err 83 83 !elseif "$(ASM)"=="wasm" 84 ASM_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -zq -fo=$^. -fr=$^&. ERR85 ASM_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -zq -d1 -fo=$^. -fr=$^&. ERR86 ASM_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -zq -d1 -fo=$^. -fr=$^&. ERR84 ASM_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -zq -fo=$^. -fr=$^&.err 85 ASM_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -zq -d1 -fo=$^. -fr=$^&.err 86 ASM_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -zq -d1 -fo=$^. -fr=$^&.err 87 87 !elseif "$(ASM)"=="tasm" 88 88 # -ml = case sensitive symbols … … 91 91 ASM_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) -dASSEMBLER=TASM -t -z -zi -c -la 92 92 !elseif "$(ASM)"=="alp" 93 ASM_FLAGS_D0=-D:DEBUG_LEVEL=$(DEBUG_LEVEL) -D:ASSEMBLER=ALP -Mb +Feo: OBJ +Fl +Fel:LST +Fm +Fem:ERR94 ASM_FLAGS_D1=-D:DEBUG_LEVEL=$(DEBUG_LEVEL) -D:ASSEMBLER=ALP -Mb +Od:MS16 +Feo: OBJ +Fl +Fel:LST +Fm +Fem:ERR93 ASM_FLAGS_D0=-D:DEBUG_LEVEL=$(DEBUG_LEVEL) -D:ASSEMBLER=ALP -Mb +Feo:obj +Fl +Fel:lst +Fm +Fem:err 94 ASM_FLAGS_D1=-D:DEBUG_LEVEL=$(DEBUG_LEVEL) -D:ASSEMBLER=ALP -Mb +Od:MS16 +Feo:obj +Fl +Fel:lst +Fm +Fem:err 95 95 ASM_FLAGS_D2=-D:DEBUG_LEVEL=$(DEBUG_LEVEL) -D:ASSEMBLER=ALP 96 96 !else … … 104 104 CC16=wcc 105 105 MM16=-ml 106 CC16_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -w4 -e25 -zq -otexan -fo=$^. -fr=$^&. ERR107 CC16_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -d2 -w4 -e25 -zq -od -fo=$^. -fr=$^&. ERR108 CC16_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -d2 -w4 -e25 -zq -od -fo=$^. -fr=$^&. ERR106 CC16_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -w4 -e25 -zq -otexan -fo=$^. -fr=$^&.err 107 CC16_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -d2 -w4 -e25 -zq -od -fo=$^. -fr=$^&.err 108 CC16_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM16) -d2 -w4 -e25 -zq -od -fo=$^. -fr=$^&.err 109 109 CC16_FLAGS=$(CC16_FLAGS_D$(DEBUG_LEVEL)) 110 110 … … 114 114 MM32=-mf 115 115 CC32=wcc386 116 CC32_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -w4 -e25 -zq -otexan -6r -fo=$^. -fr=$^&. ERR117 CC32_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -d2 -w4 -e25 -zq -od -6r -fo=$^. -fr=$^&. ERR118 CC32_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -d2 -w4 -e25 -zq -od -6r -fo=$^. -fr=$^&. ERR116 CC32_FLAGS_D0=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -w4 -e25 -zq -otexan -6r -fo=$^. -fr=$^&.err 117 CC32_FLAGS_D1=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -d2 -w4 -e25 -zq -od -6r -fo=$^. -fr=$^&.err 118 CC32_FLAGS_D2=-dDEBUG_LEVEL=$(DEBUG_LEVEL) $(MM32) -d2 -w4 -e25 -zq -od -6r -fo=$^. -fr=$^&.err 119 119 CC32_FLAGS_R=-w4 -e25 -zq -od -6r -mf -fo=$^. 120 120 CC32_FLAGS=$(CC32_FLAGS_D$(DEBUG_LEVEL)) … … 124 124 # 125 125 LNK=wlink 126 LNK_FLAGS_D0=op q op v op map=$^&. MAP127 LNK_FLAGS_D1=op q op v d all op map=$^&. MAP128 LNK_FLAGS_D2=op q op v d all op map=$^&. MAP126 LNK_FLAGS_D0=op q op v op map=$^&.map 127 LNK_FLAGS_D1=op q op v d all op map=$^&.map 128 LNK_FLAGS_D2=op q op v d all op map=$^&.map 129 129 LNK_FLAGS=$(LNK_FLAGS_D$(DEBUG_LEVEL)) 130 130 … … 175 175 @echo. 176 176 @echo ===================================================================== 177 @echo = PROGRAM: FIXCODE Multi Platform[DOS, Win32, OS/2 and Linux] =177 @echo = PROGRAM: 'fixcode' Multi Platform [DOS, Win32, OS/2 and Linux] = 178 178 @echo ===================================================================== 179 179 # @echo. … … 222 222 # DOS 16-bits (COM) 223 223 ############################################################################### 224 $(BASENAME). COM: $(BASENAME).OBJ225 $(LNK) $(LNK_FLAGS) file $^&. OBJname $^. sys dos com226 @if exist $^. @echo $^. $(MSG_SUCCESS) 227 @echo. 228 229 $(BASENAME). OBJ: $(BASENAME).ASM230 # @echo. 231 @echo TARGET: $^&. COM[DOS 16-bits COM-file]232 $(ASM) $(ASM_FLAGS) $(BASENAME). ASM233 @wdis -fi $^. > $^&. WDA224 $(BASENAME).com: $(BASENAME).obj 225 $(LNK) $(LNK_FLAGS) file $^&.obj name $^. sys dos com 226 @if exist $^. @echo $^. $(MSG_SUCCESS) 227 @echo. 228 229 $(BASENAME).obj: $(BASENAME).asm 230 # @echo. 231 @echo TARGET: $^&.com [DOS 16-bits COM-file] 232 $(ASM) $(ASM_FLAGS) $(BASENAME).asm 233 @wdis -fi $^. > $^&.wda 234 234 235 235 … … 237 237 # DOS 16-bits (MZ) 238 238 ############################################################################### 239 $(BASENAME) D.EXE: $(BASENAME)D.OBJ240 $(LNK) $(LNK_FLAGS) file $^&. OBJname $^. sys dos241 @if exist $^. @echo $^. $(MSG_SUCCESS) 242 @echo. 243 244 $(BASENAME) D.OBJ: $(BASENAME).C $(BASENAME).H245 # @echo. 246 @echo TARGET: $^&. EXE[DOS 16-bits Executable]247 $(CC16) $(CC16_FLAGS) -bt=dos $(BASENAME). C248 @wdis -fi $^. > $^&. WDA239 $(BASENAME)d.exe: $(BASENAME)d.obj 240 $(LNK) $(LNK_FLAGS) file $^&.obj name $^. sys dos 241 @if exist $^. @echo $^. $(MSG_SUCCESS) 242 @echo. 243 244 $(BASENAME)d.obj: $(BASENAME).c $(BASENAME).h 245 # @echo. 246 @echo TARGET: $^&.exe [DOS 16-bits Executable] 247 $(CC16) $(CC16_FLAGS) -bt=dos $(BASENAME).c 248 @wdis -fi $^. > $^&.wda 249 249 250 250 … … 252 252 # NT 32-bits (PE) 253 253 ############################################################################### 254 $(BASENAME) W.EXE: $(BASENAME)W.OBJ255 $(LNK) $(LNK_FLAGS) file $^&. OBJname $^. sys nt256 @if exist $^. @echo $^. $(MSG_SUCCESS) 257 @echo. 258 259 $(BASENAME) W.OBJ: $(BASENAME).C $(BASENAME).H260 # @echo. 261 @echo TARGET: $^&. EXE[NT 32-bits Executable]262 $(CC32) $(CC32_FLAGS) -I$(%WATCOM)$(DS)h$(DS)nt -bt=nt $(BASENAME). C263 @wdis -fi $^. > $^&. WDA254 $(BASENAME)w.exe: $(BASENAME)w.obj 255 $(LNK) $(LNK_FLAGS) file $^&.obj name $^. sys nt 256 @if exist $^. @echo $^. $(MSG_SUCCESS) 257 @echo. 258 259 $(BASENAME)w.obj: $(BASENAME).c $(BASENAME).h 260 # @echo. 261 @echo TARGET: $^&.exe [NT 32-bits Executable] 262 $(CC32) $(CC32_FLAGS) -I$(%WATCOM)$(DS)h$(DS)nt -bt=nt $(BASENAME).c 263 @wdis -fi $^. > $^&.wda 264 264 265 265 … … 267 267 # OS/2 32-bits (LX) 268 268 ############################################################################### 269 $(BASENAME)2. EXE: $(BASENAME)2.OBJ270 $(LNK) $(LNK_FLAGS) file $^&. OBJname $^. sys os2v2271 @if exist $^. @echo $^. $(MSG_SUCCESS) 272 @echo. 273 274 $(BASENAME)2. OBJ: $(BASENAME).C $(BASENAME).H275 # @echo. 276 @echo TARGET: $^&. EXE[OS/2 32-bits Executable]277 $(CC32) $(CC32_FLAGS) -I$(%WATCOM)$(DS)h$(DS)os2 -bt=os2 $(BASENAME). C278 @wdis -fi $^. > $^&. WDA269 $(BASENAME)2.exe: $(BASENAME)2.obj 270 $(LNK) $(LNK_FLAGS) file $^&.obj name $^. sys os2v2 271 @if exist $^. @echo $^. $(MSG_SUCCESS) 272 @echo. 273 274 $(BASENAME)2.obj: $(BASENAME).c $(BASENAME).h 275 # @echo. 276 @echo TARGET: $^&.exe [OS/2 32-bits Executable] 277 $(CC32) $(CC32_FLAGS) -I$(%WATCOM)$(DS)h$(DS)os2 -bt=os2 $(BASENAME).c 278 @wdis -fi $^. > $^&.wda 279 279 280 280 … … 282 282 # Linux 32-bits (ELF) 283 283 ############################################################################### 284 $(BASENAME) L.ELF: $(BASENAME)L.OBJ285 $(LNK) $(LNK_FLAGS) file $^&. OBJ name $^&.ELFsys linux286 # $(MV) $^&. ELF$^.287 @if exist $^. @echo $^. $(MSG_SUCCESS) 288 @echo. 289 290 $(BASENAME) L.OBJ: $(BASENAME).C $(BASENAME).H291 # @echo. 292 @echo TARGET: $^&. ELF[Linux 32-bits Executable]293 $(CC32) $(CC32_FLAGS) -bt=linux $(BASENAME). C294 @wdis -fi $^. > $^&. WDA284 $(BASENAME)l.elf: $(BASENAME)l.obj 285 $(LNK) $(LNK_FLAGS) file $^&.obj name $^&.elf sys linux 286 # $(MV) $^&.elf $^. 287 @if exist $^. @echo $^. $(MSG_SUCCESS) 288 @echo. 289 290 $(BASENAME)l.obj: $(BASENAME).c $(BASENAME).h 291 # @echo. 292 @echo TARGET: $^&.elf [Linux 32-bits Executable] 293 $(CC32) $(CC32_FLAGS) -bt=linux $(BASENAME).c 294 @wdis -fi $^. > $^&.wda 295 295 296 296 … … 315 315 clean: .SYMBOLIC 316 316 @for %%i in ($(TARGETS)) do @if exist %%i $(RM) %%i 317 @if exist *. OBJ $(RM) *.OBJ318 @if exist *. WDA $(RM) *.WDA319 @if exist *. NDA $(RM) *.NDA320 @if exist *. MAP $(RM) *.MAP321 @if exist *. LST $(RM) *.LST322 @if exist *. ERR $(RM) *.ERR317 @if exist *.obj $(RM) *.obj 318 @if exist *.wda $(RM) *.wda 319 @if exist *.nda $(RM) *.nda 320 @if exist *.map $(RM) *.map 321 @if exist *.lst $(RM) *.lst 322 @if exist *.err $(RM) *.err 323 323 @if exist *.o $(RM) *.o 324 324 -
trunk/tools/internal/fixcode.c
r57 r60 19 19 /* 20 20 // FIXCODE.C -- Fix the AiR-BOOT image; include the code-size and MBR prot-img. 21 // This reads AIR-BOOT.COM, merges MBR-PROT.BIN and writes AIRBOOT.BIN.21 // This reads 'air-boot.com', merges 'mbr-prot.bin' and writes 'airboot.bin'. 22 22 // It is a quick-and-dirty translation of the original DOS-only ASM file. 23 23 // Of course it's not as small but it's much easier to maintain across 24 24 // multiple platforms. A small change with regard to the old ASM version is 25 // that it directly writes AIRBOOT.BIN instead of writing AIR-BOOT.COM.25 // that it directly writes 'airboot.bin' instead of writing 'air-boot.com'. 26 26 // This way the pre and post situations are kept valid. 27 27 */ 28 28 29 29 30 #include " FIXCODE.H"30 #include "fixcode.h" 31 31 32 32 … … 49 49 50 50 /* File names */ 51 #define IN_FILE " AIR-BOOT.COM" // Target from assembly.51 #define IN_FILE "air-boot.com" // Target from assembly. 52 52 #ifdef PLATFORM_LINUX 53 #define MERGE_FILE " MBR-PROT/MBR-PROT.BIN" // MBR Protection Image.53 #define MERGE_FILE "mbr-prot/mbr-prot.bin" // MBR Protection Image. 54 54 #else 55 #define MERGE_FILE " MBR-PROT\\MBR-PROT.BIN" // MBR Protection Image.56 #endif 57 #define OUT_FILE " AIRBOOT.BIN" // Generated loader image.55 #define MERGE_FILE "mbr-prot\\mbr-prot.bin" // MBR Protection Image. 56 #endif 57 #define OUT_FILE "airboot.bin" // Generated loader image. 58 58 59 59 … … 200 200 201 201 /* 202 // Write AIRBOOT.BIN202 // Write 'airboot.bin' 203 203 */ 204 204 printf("%s", WriteCode);
Note:
See TracChangeset
for help on using the changeset viewer.