📄 makefile
字号:
# Configuration variables# They can also be stored in a file /etc/lilo.defines, e.g.# -DIGNORECASE -DONE_SHOT# The variables configured in this Makefile are ignored if# /etc/lilo.defines exists# AUTOAUTO Enable automatic generation of change rules for MS partitions;# issue warning if "CHANGE AUTOMATIC" is assumed# * BDATA Enable real mode gathering of system information for# '-T'# BEEP Beep after displaying "LILO".# BOOT_FILE Append "BOOT_FILE=<path>" to the kernel command line.# * BUILTIN Boot-time first, second, chain, and mbr loaders are built# into the boot installer. (new,required)# COHERENT Make boot loaders (chain.b & mbr.b) compatible with Coherent# by writing the boot device code to the memory copy of the PT# * DSECS=n Set the number of Descriptor Sectors (n=1..12). Each sector# of the descriptor table holds 9..10 descriptors.# * EVMS Enables support for booting from EVMS volumes. Requires a# 2.4 or 2.5 kernel patched to EVMS version 1.1.0 or later. (new)# HP_TTRC Insert 150ms delay for HP TTRC card. Affects 'second.S'# * IGNORECASE Image selection is case-insensitive. Passwords are still# case-sensitive.# INITRDLOW Always load initial ramdisk images below address 15M,# ignoring any 'large-memory' option in the config file.# * LBA32 Use 'lba32' addressing by default. 'geometric' may override# for backward compatibility.# * LVM Enables support for booting from LVM partitions. This will# OOPS if you try to use this and are using a kernel < 2.4.7# that has not been patched to at least LVM 0.9.1beta6. (new)# * M386 Use 386 instructions in assembly code to reduce size of# second-stage loader (required)# NO1STDIAG Don't show diagnostic on read errors in the first stage# boot. (not recommended)# NODRAIN Don't drain keyboard buffer after booting.# NOINSTDEF Don't install a new boot sector if INSTALL is not specified.# NOSERIAL Don't assemble serial line support in the boot loader.# OLD_DIRSTR Use old locations of config and boot files: (/etc/lilo)# * ONE_SHOT Disable the command-line and password timeout if any key is# hit at the boot prompt.# * PASS160 Use 160-bit password hash (Secure Hash Standard, see# FIPS PUB 180-1) instead of 64-bit CRC-32 hash# READONLY Don't write to disk while booting, e.g. don't overwrite the# default command line in the map file after reading it.# * REISERFS Compile support for parts of LILO on ReiserFS.# Requires header files for kernel 2.4.0test8 or later.# * REWRITE_TABLE Enable rewriting the partition table at boot time.# * SOLO_CHAIN Assemble all chain-loader functions into 'chain.b', # eliminating the need for 'os2_d.b'.# * UNIFY Copy the second-stage boot loader, message or bitmap file,# into the map file. (new)# USE_TMPDIR Create temporary devices in $TMPDIR if set# * VARSETUP Enables use of variable-size setup segments. (required)# * VERSION Prints version string at LILO boot prompt.# * VIRTUAL Enable 'vmdefault', 'vmdisable', 'vmwarn' keywords; feature# requested by VMware users (new, experimental)# XL_SECS=n Support for extra large (non-standard) floppies.CONFIG=-DBDATA -DBUILTIN -DDSECS=3 -DIGNORECASE -DLBA32 -DLVM -DEVMS -DM386 \ -DONE_SHOT -DPASS160 -DREISERFS -DREWRITE_TABLE -DSOLO_CHAIN -DVARSETUP \ -DVERSION -DUNIFY -DVIRTUAL# set the compiler optimization levelOPT=-O2# End of configuration variablesSBIN_DIR=/sbinCFG_DIR=/etcBOOT_DIR=/bootUSRSBIN_DIR=/usr/sbinMAN_DIR=`if [ -f /usr/man/manpath ]; then \ manpath | sed "s/:.*//"; else echo /usr/man; fi`BUILTIN=`./lilo -X | grep CFLAGS | grep LCF_BUILTIN | wc -l | sed "s/ //g"`PCONFIG=`( if [ -r $$ROOT/etc/lilo.defines ]; then \ cat $$ROOT/etc/lilo.defines; else echo $(CONFIG); fi ) | \ sed 's/-D/-DLCF_/g'` `[ -r /usr/include/asm/boot.h ] && echo -DHAS_BOOT_H`GO=-DGO=0x`sed '/go/s/^.*go *0 \(....\) A.*$$/\1/p;d' first.lis`TMP=_TmP_SHELL=/bin/shCC=ccCPP=$(CC) -EAS86=as86 -0 -aLD86=ld86 -0NASM=nasmAFLAGS=`cat mylilo.h`CFLAGS=$(OPT) -Wall -g $(PCONFIG) $(AFLAGS)LDFLAGS=#-Xlinker -qmagicOBJS=lilo.o map.o geometry.o boot.o device.o common.o bsect.o cfg.o temp.o \ partition.o identify.o probe.o shs2.o loader.o edit.oEDIT=edit.c common.o# all *.lis files but 'first.lis"LIS=chain.lis disk.lis dparam.lis os2_d.lis temp2.lis second.lis \ bootsect.lis third.lis mbr.lis bitmap.lis loader.lis pseudo.lisBFILES=first.b second.b third.b bitmap.b temp2.b bootsect.b pseudo.bBOOTS=boot-text.b boot-menu.b boot-bmp.b chain.b os2_d.b mbr.b.SUFFIXES: .img .b .com .S .sall: lilo dparam.com bootsect.b $(BOOTS) activate disk.com pseudo.b #edit## make the bootable diagnostic floppies#floppy: @echo @echo Make sure you have 2 blank, formatted, 1.44Mb floppies @echo before you proceed from this point. @echo "Press <Enter> to continue, <^C> to abort ..." @read @make floppy1 @echo Done. @echo @echo Remove the floppy from the drive. Label it "\"1.5.4\"" @echo "Press <Enter> to continue, <^C> to abort ..." @read @make floppy2 @echo Done. @echo @echo Remove the floppy from the drive. Label it "\"2.1.1\"" @echofloppy1: disk.com bootsect.b @echo @echo Creating Diagnostic Floppy 1.5.4 @echo Insert a blank, formatted, floppy into drive 0 @echo "Press <Enter> to continue, <^C> to abort ..." @read cat bootsect.b disk.com | dd of=/dev/fd0 bs=512floppy2: disk.b @echo @echo Creating Diagnostic Floppy 2.1.1 @cd diagnose; make floppy; cd ..#check-config:# $(CPP) check-config.cpp $(PCONFIG) >/dev/null.c.o: $(CC) -c $(CFLAGS) $*.c.s.o: $(AS86) -w -l $*.lis -o $*.o $*.s.o.img: $(LD86) -s -o $*.img $*.o.img.b: dd if=$*.img of=$*.b bs=32 skip=1activate: activate.c $(CC) -Wall -s -O -o activate activate.c $(LDFLAGS)edit: $(EDIT) $(CC) -Wall -s -O -DSTANDALONE -o edit $(EDIT) $(LDFLAGS)loader.o: loader.s first.b second.b third.b bitmap.b mbr.b \ chain.b os2_d.b $(NASM) -f elf -o loader.o -l loader.lis loader.sloader.s: loader.S $(CPP) -traditional $(PCONFIG) -o loader.s loader.Sdisk.com: disk.b cp disk.b disk.comdisk.s: disk.S read.S bdata.h biosdata.S lilo.h mylilo.h $(CPP) -traditional $(PCONFIG) $(AFLAGS) -o disk.s disk.Smbr.s: mbr.S read.S lilo.h mylilo.h $(CPP) -traditional $(PCONFIG) $(AFLAGS) -o mbr.s mbr.Smbr.b: mbr.img dd if=$*.img of=$*.b bs=32 skip=49bootsect.s: bootsect.S disk.b $(CPP) -traditional $(PCONFIG) \ -DSIZEDISKB=`wc -c <disk.b | sed "s/ //g"` \ -o bootsect.s bootsect.Spseudo.s: bootsect.S pseudo.S cat bootsect.S pseudo.S >$(TMP).S $(CPP) -traditional $(PCONFIG) \ -DSIZEDISKB=512 -o pseudo.s $(TMP).S rm -f $(TMP).Spseudo.b: pseudo.sflags.i: Makefile echo "#define CFLAGS \"" $(CFLAGS) "\"" >flags.imylilo.h: temp2.b echo -DMAX_SECONDARY_FILESIZE=`wc -c <temp2.b | sed "s/ //g"` >mylilo.hdparam.com: dparam.img dd if=dparam.img of=dparam.com bs=288 skip=1dparam.s: dparam.S cp -p dparam.S dparam.slilo: mylilo.h $(OBJS) $(CC) -o lilo $(LDFLAGS) $(OBJS)boot-text.b: first.b second.b (dd if=first.b bs=512 conv=sync; dd if=second.b) >boot-text.bboot-menu.b: first.b third.b (dd if=first.b bs=512 conv=sync; dd if=third.b) >boot-menu.bboot-bmp.b: first.b bitmap.b (dd if=first.b bs=512 conv=sync; dd if=bitmap.b) >boot-bmp.bcommon.s: common.h $(CPP) -C -traditional -DLILO_ASM -o common.s common.htemp2.o: temp2.s common.sbitmap.o: bitmap.s common.sthird.o: third.s common.ssecond.o: second.s common.sfirst.o: first.s common.sfirst.s: first.S read.S lilo.h version.h mylilo.h $(CPP) $(PCONFIG) $(AFLAGS) first.S -o first.ssecond.s: second.S read.S biosdata.S shs3.S bdata.h lilo.h version.h \ graph.S menu.S strlen.S bitmap.S display4.S mylilo.h $(CPP) $(PCONFIG) $(AFLAGS) second.S -o second.sthird.s: second.S read.S biosdata.S bdata.h lilo.h version.h mylilo.h \ graph.S menu.S strlen.S crt.S $(CPP) $(PCONFIG) $(AFLAGS) -DMENU second.S -o third.sbitmap.s: second.S read.S biosdata.S bdata.h lilo.h version.h mylilo.h \ strlen.S bitmap.S display4.S $(CPP) $(PCONFIG) $(AFLAGS) -DBITMAP second.S -o bitmap.stemp2.s: second.S read.S biosdata.S shs3.S bdata.h lilo.h version.h \ graph.S menu.S strlen.S bitmap.S display4.S $(CPP) $(PCONFIG) -DBITMAP second.S -o temp2.schain.s: chain.S lilo.h version.h mylilo.h first.b $(CPP) $(PCONFIG) $(AFLAGS) $(GO) chain.S -o chain.sos2_d.s: chain.S lilo.h version.h mylilo.h first.b $(CPP) $(PCONFIG) $(AFLAGS) $(GO) chain.S -DDOS_D -o os2_d.s#dos_d.s: chain.S lilo.h version.h mylilo.h first.b# $(CPP) $(PCONFIG) $(AFLAGS) $(GO) chain.S -DDOS_D -o dos_d.s#dump.s: dump.S lilo.h version.h first.b mylilo.h# $(CPP) $(PCONFIG) $(AFLAGS) $(GO) `./lilo -X` dump.S -DDOS_D -o dump.s#lrmi.o: lrmi.c lrmi.h# $(CC) -c -O $(CFLAGS) lrmi.cxxx.s: chain.S lilo.h $(CPP) chain.S -DXXX -o xxx.s$(OBJS): mylilo.h Makefileinstall: all if [ ! -d $$ROOT$(SBIN_DIR) ]; then mkdir $$ROOT$(SBIN_DIR); fi if [ ! -d $$ROOT$(CFG_DIR) ]; then mkdir $$ROOT$(CFG_DIR); fi if [ ! -d $$ROOT$(BOOT_DIR) ]; then mkdir $$ROOT$(BOOT_DIR); fi if [ ! -d $$ROOT$(USRSBIN_DIR) ]; then \ mkdir -p $$ROOT$(USRSBIN_DIR); fi if [ ! -d $$ROOT$(MAN_DIR) ]; then mkdir $$ROOT$(MAN_DIR); fi if [ ! -d $$ROOT$(MAN_DIR)/man5 ]; then \ mkdir $$ROOT$(MAN_DIR)/man5; fi if [ ! -d $$ROOT$(MAN_DIR)/man8 ]; then \ mkdir $$ROOT$(MAN_DIR)/man8; fi if [ ! -L $$ROOT$(BOOT_DIR)/boot.b -a -f $$ROOT$(BOOT_DIR)/boot.b ]; then \ mv $$ROOT$(BOOT_DIR)/boot.b $$ROOT$(BOOT_DIR)/boot.old; fi if [ -f $$ROOT$(BOOT_DIR)/boot-bmp.b ]; then \ mv $$ROOT$(BOOT_DIR)/boot-bmp.b $$ROOT$(BOOT_DIR)/boot-bmp.old; fi if [ -f $$ROOT$(BOOT_DIR)/boot-menu.b ]; then \ mv $$ROOT$(BOOT_DIR)/boot-menu.b $$ROOT$(BOOT_DIR)/boot-menu.old; fi if [ -f $$ROOT$(BOOT_DIR)/boot-text.b ]; then \ mv $$ROOT$(BOOT_DIR)/boot-text.b $$ROOT$(BOOT_DIR)/boot-text.old; fi if [ -f $$ROOT$(BOOT_DIR)/chain.b ]; then \ mv $$ROOT$(BOOT_DIR)/chain.b $$ROOT$(BOOT_DIR)/chain.old; fi if [ -f $$ROOT$(BOOT_DIR)/os2_d.b ]; then \ mv $$ROOT$(BOOT_DIR)/os2_d.b $$ROOT$(BOOT_DIR)/os2_d.old; fi if [ -f $$ROOT$(BOOT_DIR)/mbr.b ]; then \ mv $$ROOT$(BOOT_DIR)/mbr.b $$ROOT$(BOOT_DIR)/mbr.old; fi if [ -f os2_d.b -a $(BUILTIN) = 0 ]; then \ cp os2_d.b $$ROOT$(BOOT_DIR); fi if [ $(BUILTIN) = 0 ]; then \ cp boot-text.b boot-menu.b boot-bmp.b chain.b mbr.b $$ROOT$(BOOT_DIR); fi if [ ! -L $$ROOT$(BOOT_DIR)/boot.b -a $(BUILTIN) = 0 ]; then \ ln -s boot-menu.b $$ROOT$(BOOT_DIR)/boot.b; fi if [ $(BUILTIN) = 1 ]; then \ rm -f $$ROOT$(BOOT_DIR)/boot.b; fi cp mkrescue $$ROOT$(SBIN_DIR) cp lilo $$ROOT$(SBIN_DIR) strip $$ROOT$(SBIN_DIR)/lilo cp keytab-lilo.pl $$ROOT$(USRSBIN_DIR) cp manPages/lilo.8 $$ROOT$(MAN_DIR)/man8 cp manPages/mkrescue.8 $$ROOT$(MAN_DIR)/man8 cp manPages/lilo.conf.5 $$ROOT$(MAN_DIR)/man5 @if [ -e $$ROOT/etc/lilo/install ]; then echo; \ echo -n "$$ROOT/etc/lilo/install is obsolete. LILO is now ";\ echo "re-installed "; \ echo "by just invoking $(SBIN_DIR)/lilo"; echo; fi @echo "/sbin/lilo must now be run to complete the update."dep: sed '/\#\#\# Dependencies/q' <Makefile >tmp_make $(CPP) $(CFLAGS) -MM *.c >>tmp_make mv tmp_make Makefileversion: [ -r VERSION ] && [ -d ../lilo -a ! -d ../lilo-`cat VERSION` ]\ && mv ../lilo ../lilo-`cat VERSION`test: rm -f $(BOOTS)tidy: test rm -f core $(LIS) *.shs *.crc cd diagnose; make tidy; cd .. if [ -x lilo ]; then strip lilo; ficlean: tidy rm -f *.o *.s *.img $(BFILES) tmp_make mylilo.h flags.i \ first.lis cd diagnose; make clean; cd ..spotless: clean rm -f *~ */*~ lilo activate edit *.b *.com lilo*tar.gz cd doc; make clean; cd .. cd diagnose; make spotless; cd ..### Dependenciesactivate.o: activate.cboot.o: boot.c config.h common.h lilo.h version.h geometry.h cfg.h \ map.h partition.h boot.h loader.hbsect.o: bsect.c config.h common.h lilo.h version.h cfg.h device.h \ geometry.h map.h temp.h partition.h boot.h bsect.h bitmap.h loader.h \ edit.h shs2.hcfg.o: cfg.c common.h lilo.h version.h temp.h cfg.hcommon.o: common.c common.h lilo.h version.hdevice.o: device.c config.h common.h lilo.h version.h temp.h device.hedit.o: edit.c config.h lilo.h version.h common.h cfg.h temp.h bsect.h \ bitmap.h edit.hgeometry.o: geometry.c config.h lilo.h version.h common.h device.h \ geometry.h cfg.h md-int.h probe.hidentify.o: identify.c common.h lilo.h version.h cfg.hlilo.o: lilo.c config.h common.h lilo.h version.h boot.h temp.h \ device.h geometry.h map.h bsect.h cfg.h identify.h partition.h \ probe.h md-int.h edit.h bitmap.h flags.imap.o: map.c lilo.h version.h common.h geometry.h map.hpartition.o: partition.c config.h lilo.h version.h common.h cfg.h \ device.h geometry.h partition.h boot.h loader.hprobe.o: probe.c common.h lilo.h version.h device.h geometry.h \ partition.h bsect.h bdata.h probe.hshs2.o: shs2.c lilo.h version.h shs2.htemp.o: temp.c common.h lilo.h version.h temp.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -