Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

130 lines
3.6 KiB

!INCLUDE $(NTMAKEENV)\makefile.plt
#
# No reason to build the bootcode in the general case.
# Any code that uses these files is supposed to patch
# the messages in the boot code at run-time, via patchbc.lib.
#
!IFNDEF BUILD_BOOTCODE
BUILD_BOOTCODE=0
!ENDIF
!IFNDEF LANGUAGE
LANGUAGE=usa
!ENDIF
ALT_PROJECT_TARGET=$(LANGUAGE)
!IF "$(LANGUAGE)" == "USA" || "$(LANGUAGE)" == "usa"
ALT_PROJECT_TARGET=.
!ENDIF
FATCODE=bootcode\fat\i386
FAT32CODE=bootcode\fat\i386
NTFSCODE=bootcode\ntfs\i386
ETFSCODE=bootcode\etfs\i386
MBRCODE=bootcode\mbr\i386
#
# Boot code header file generation.
# Boot code for each filesystem is placed in a header file
# in sdk\inc.
#
FATFILE=$(SDK_INC_PATH)\bootfat.h
FAT32FILE=$(SDK_INC_PATH)\bootf32.h
NTFSFILE=$(SDK_INC_PATH)\bootntfs.h
MBRFILE=$(SDK_INC_PATH)\bootmbr.h
FATFILENEC98=$(SDK_INC_PATH)\boot98f.h
FAT32FILENEC98=$(SDK_INC_PATH)\boot98f2.h
NTFSFILENEC98=$(SDK_INC_PATH)\boot98n.h
!if $(386)
TARGETS= $(FATFILE) $(FAT32FILE) $(NTFSFILE) $(MBRFILE) \
$(FATFILENEC98) $(FAT32FILENEC98) $(NTFSFILENEC98)
!else
TARGETS=
!endif
#
# Targets
#
all: $(TARGETS)
!IF "$(BUILDMSG)" != ""
echo $(BUILDMSG)
!ENDIF
clean: all
!IF $(BUILD_BOOTCODE)
$(FATFILE): $(FATCODE)\fatboot.asm $(FATCODE)\msgstub.inc \
$(FATCODE)\bootsec.inc $(FATCODE)\bpb.inc $(FATCODE)\dirent.inc
masm386 -I$(FATCODE) $(FATCODE)\fatboot.asm;
link16 fatboot.obj,fatboot.exe;
bin2c fatboot.exe 32768 32256 512 $(FATFILE) FatBootCode
del fatboot.obj fatboot.exe
$(FAT32FILE): $(FAT32CODE)\fat32bt.asm $(FATCODE)\msgstub.inc \
$(FAT32CODE)\bootsec.inc $(FAT32CODE)\bpb.inc $(FAT32CODE)\dirent.inc
masm386 -I$(FAT32CODE) $(FAT32CODE)\fat32bt.asm;
link16 fat32bt.obj,fat32bt.exe;
bin2c fat32bt.exe 33792 32256 1536 $(FAT32FILE) Fat32BootCode
del fat32bt.obj fat32bt.exe
$(NTFSFILE): $(NTFSCODE)\ntfsboot.asm $(NTFSCODE)\ntfs.inc
masm386 -I$(NTFSCODE) $(NTFSCODE)\ntfsboot.asm;
link16 /tiny ntfsboot.obj,ntfsboot.com;
bin2c ntfsboot.com 8192 0 8192 $(NTFSFILE) NtfsBootCode
del ntfsboot.obj ntfsboot.com
$(MBRFILE): $(MBRCODE)\x86mboot.asm
masm386 $(MBRCODE)\x86mboot.asm;
link16 /tiny x86mboot.obj,x86mboot.com;
bin2c x86mboot.com 1792 1280 512 $(MBRFILE) x86BootCode
del x86mboot.obj x86mboot.com
$(FATFILENEC98): $(FATCODE)\fatnec98.asm $(FATCODE)\msgstub.inc \
$(FATCODE)\bootsec.inc $(FATCODE)\bpb.inc $(FATCODE)\dirent.inc
masm386 -I$(FATCODE) $(FATCODE)\fatnec98.asm;
link16 /tiny fatnec98.obj,fatnec98.com;
bin2c fatnec98.com 512 0 512 $(FATFILENEC98) PC98FatBootCode
del fatnec98.obj fatnec98.com
$(FAT32FILENEC98): $(FAT32CODE)\fat32nec.asm $(FATCODE)\msgstub.inc \
$(FAT32CODE)\bootsec.inc $(FAT32CODE)\bpb.inc $(FAT32CODE)\dirent.inc
masm386 -I$(FAT32CODE) $(FAT32CODE)\fat32nec.asm;
link16 fat32nec.obj,fat32nec.exe;
bin2c fat32nec.exe 33792 32256 1536 $(FAT32FILENEC98) PC98Fat32BootCode
del fat32nec.obj fat32nec.exe
$(NTFSFILENEC98): $(NTFSCODE)\ntfsn98.asm $(NTFSCODE)\ntfs.inc
masm386 -I$(NTFSCODE) $(NTFSCODE)\ntfsn98.asm;
link16 /tiny ntfsn98.obj,ntfsn98.com;
bin2c ntfsn98.com 8192 0 8192 $(NTFSFILENEC98) PC98NtfsBootCode
del ntfsn98.obj ntfsn98.com
!ELSE
$(FATFILE): $(FATCODE)\bootfat.h
$(PUBLISH_CMD) {$?=$@}
$(FAT32FILE): $(FAT32CODE)\bootf32.h
$(PUBLISH_CMD) {$?=$@}
$(NTFSFILE): $(NTFSCODE)\bootntfs.h
$(PUBLISH_CMD) {$?=$@}
$(MBRFILE): $(MBRCODE)\bootmbr.h
$(PUBLISH_CMD) {$?=$@}
$(FATFILENEC98): $(FATCODE)\boot98f.h
$(PUBLISH_CMD) {$?=$@}
$(FAT32FILENEC98): $(FAT32CODE)\boot98f2.h
$(PUBLISH_CMD) {$?=$@}
$(NTFSFILENEC98): $(NTFSCODE)\boot98n.h
$(PUBLISH_CMD) {$?=$@}
!ENDIF