⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 Windows上的精简Linux系统
💻
字号:
## -----------------------------------------------------------------------##  $Id: Makefile,v 1.93 2004/02/02 08:47:24 hpa Exp $####   Copyright 1998-2003 H. Peter Anvin - All Rights Reserved####   This program is free software; you can redistribute it and/or modify##   it under the terms of the GNU General Public License as published by##   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,##   USA; either version 2 of the License, or (at your option) any later##   version; incorporated herein by reference.#### -----------------------------------------------------------------------## Main Makefile for SYSLINUX#OSTYPE   = $(shell uname -msr)CC	 = gccINCLUDE  =CFLAGS   = -W -Wall -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64PIC      = -fPICLDFLAGS  = -O2 -sAR	 = arRANLIB   = ranlibNASM	 = nasm -O99NINCLUDE = BINDIR   = /usr/binLIBDIR   = /usr/libAUXDIR   = $(LIBDIR)/syslinuxINCDIR   = /usr/includePERL     = perlVERSION  = $(shell cat version).c.o:	$(CC) $(INCLUDE) $(CFLAGS) -c $<# libsyslinux.soLIB_SONAME = libsyslinux.so.2LIB_SO  = libsyslinux.so.$(VERSION)## The BTARGET refers to objects that are derived from ldlinux.asm; we# like to keep those uniform for debugging reasons; however, distributors # want to recompile the installers (ITARGET).#CSRC    = syslinux.c syslinux-nomtools.c syslxmod.c gethostip.cNASMSRC  = ldlinux.asm syslinux.asm copybs.asm \	  pxelinux.asm mbr.asm isolinux.asm isolinux-debug.asmSOURCES = $(CSRC) *.h $(NASMSRC) *.inc# syslinux.exe is BTARGET so as to not require everyone to have the# mingw suite installedBTARGET = kwdhash.gen version.gen ldlinux.bss ldlinux.sys ldlinux.bin \	  pxelinux.0 mbr.bin isolinux.bin isolinux-debug.bin \	  libsyslinux.a syslinux.exe $(LIB_SO) ITARGET = syslinux.com syslinux syslinux-nomtools copybs.com gethostip \	  mkdiskimageDOCS    = COPYING NEWS README TODO BUGS *.doc sample menu com32OTHER   = Makefile bin2c.pl now.pl genhash.pl keywords findpatch.pl \	  keytab-lilo.pl version version.pl sys2ansi.pl \	  ppmtolss16 lss16toppm memdisk bin2hex.pl mkdiskimage.inOBSOLETE = pxelinux.bin# Things to install in /usr/binINSTALL_BIN   =	syslinux gethostip ppmtolss16 lss16toppm# Things to install in /usr/lib/syslinuxINSTALL_AUX   =	pxelinux.0 isolinux.bin isolinux-debug.bin \		syslinux.com syslinux.exe copybs.com memdisk/memdisk# Things to install in /usr/libINSTALL_LIB   = $(LIB_SO) libsyslinux.a# Things to install in /usr/includeINSTALL_INC   = syslinux.h# The DATE is set on the make command line when building binaries for# official release.  Otherwise, substitute a hex string that is pretty much# guaranteed to be unique to be unique from build to build.ifndef HEXDATEHEXDATE := $(shell $(PERL) now.pl ldlinux.asm pxelinux.asm isolinux.asm)endififndef DATEDATE    := $(HEXDATE)endifall:	$(BTARGET) $(ITARGET) samples memdisk	ls -l $(BTARGET) $(ITARGET) memdisk/memdiskinstaller: $(ITARGET) samples	ls -l $(BTARGET) $(ITARGET).PHONY: samplessamples:	$(MAKE) -C sample all.PHONY: memdiskmemdisk:	$(MAKE) -C memdisk allversion.gen: version version.pl	$(PERL) version.pl versionkwdhash.gen: keywords genhash.pl	$(PERL) genhash.pl < keywords > kwdhash.genldlinux.bin: ldlinux.asm kwdhash.gen version.gen	$(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \		-l ldlinux.lst -o ldlinux.bin ldlinux.asmpxelinux.bin: pxelinux.asm kwdhash.gen version.gen	$(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \		-l pxelinux.lst -o pxelinux.bin pxelinux.asmisolinux.bin: isolinux.asm kwdhash.gen version.gen	$(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \		-l isolinux.lst -o isolinux.bin isolinux.asmpxelinux.0: pxelinux.bin	cp pxelinux.bin pxelinux.0# Special verbose version of isolinux.binisolinux-debug.bin: isolinux-debug.asm kwdhash.gen	$(NASM) -f bin -DDATE_STR="'$(DATE)'" -DHEXDATE="$(HEXDATE)" \		-l isolinux-debug.lst -o isolinux-debug.bin isolinux-debug.asmldlinux.bss: ldlinux.bin	dd if=ldlinux.bin of=ldlinux.bss bs=512 count=1ldlinux.sys: ldlinux.bin	dd if=ldlinux.bin of=ldlinux.sys  bs=512 skip=1patch.offset: ldlinux.sys findpatch.pl	$(PERL) findpatch.pl > patch.offsetmbr.bin: mbr.asm	$(NASM) -f bin -l mbr.lst -o mbr.bin mbr.asmsyslinux.com: syslinux.asm ldlinux.bss ldlinux.sys patch.offset	$(NASM) -f bin -DPATCH_OFFSET=`cat patch.offset` \		-l syslinux.lst -o syslinux.com syslinux.asmcopybs.com: copybs.asm	$(NASM) -f bin -l copybs.lst -o copybs.com copybs.asmbootsect_bin.c: ldlinux.bss bin2c.pl	$(PERL) bin2c.pl syslinux_bootsect < ldlinux.bss > bootsect_bin.cldlinux_bin.c: ldlinux.sys bin2c.pl	$(PERL) bin2c.pl syslinux_ldlinux < ldlinux.sys > ldlinux_bin.clibsyslinux.a: bootsect_bin.o ldlinux_bin.o syslxmod.o	rm -f $@	$(AR) cq $@ $^	$(RANLIB) $@$(LIB_SO): bootsect_bin.o ldlinux_bin.o syslxmod.o	$(CC) $(LDFLAGS) -shared -Wl,-soname,$(LIB_SONAME) -o $@ $^syslinux: syslinux.o libsyslinux.a	$(CC) $(LDFLAGS) -o $@ $^syslinux-nomtools: syslinux-nomtools.o libsyslinux.a	$(CC) $(LDFLAGS) -o $@ $^syslxmod.o: syslxmod.c patch.offset	$(CC) $(INCLUDE) $(CFLAGS) $(PIC) -DPATCH_OFFSET=`cat patch.offset` \		-c -o $@ $<syslinux.exe: win32/syslinux-mingw.c libsyslinux.a	$(MAKE) -C win32 allgethostip.o: gethostip.cgethostip: gethostip.omkdiskimage: mkdiskimage.in mbr.bin bin2hex.pl	$(PERL) bin2hex.pl < mbr.bin | cat mkdiskimage.in - > $@	chmod a+x $@install: installer	mkdir -m 755 -p $(INSTALLROOT)$(BINDIR) $(INSTALLROOT)$(AUXDIR)	install -m 755 -c $(INSTALL_BIN) $(INSTALLROOT)$(BINDIR)	install -m 644 -c $(INSTALL_AUX) $(INSTALLROOT)$(AUXDIR)install-lib: installer	mkdir -m 755 -p $(INSTALLROOT)$(LIBDIR) $(INSTALLDIR)$(INCDIR)	install -m 644 -c $(INSTALL_LIB) $(INSTALLROOT)$(LIBDIR)	install -m 644 -c $(INSTALL_INC) $(INSTALLROOT)$(INCDIR)	cd $(INSTALLROOT)$(LIBDIR) && ln -sf $(LIB_SO) libsyslinux.so	if [ -z '$(INSTALLROOT)' ]; then ldconfig; fiinstall-all: install install-alllocal-tidy:	rm -f *.o *_bin.c stupid.* patch.offset	rm -f syslinux.lst copybs.lst pxelinux.lst isolinux*.lst	rm -f $(OBSOLETE)tidy: local-tidy	$(MAKE) -C memdisk tidy	$(MAKE) -C win32 tidy	$(MAKE) -C sample tidylocal-clean:	rm -f $(ITARGET)clean: local-tidy local-clean	$(MAKE) -C sample clean	$(MAKE) -C memdisk clean	$(MAKE) -C win32 cleandist: tidy	for dir in . sample memdisk ; do \		( cd $$dir && rm -f *~ \#* core ) ; \	donelocal-spotless:	rm -f $(BTARGET) .depend *.so.*spotless: local-clean dist local-spotless	$(MAKE) -C sample spotless	$(MAKE) -C memdisk spotless	$(MAKE) -C win32 spotless.depend:	rm -f .depend	for csrc in $(CSRC) ; do $(CC) $(INCLUDE) -MM $$csrc >> .depend ; done	for nsrc in $(NASMSRC) ; do $(NASM) -DDEPEND $(NINCLUDE) -o `echo $$nsrc | sed -e 's/\.asm/\.bin/'` -M $$nsrc >> .depend ; donelocal-depend:	rm -f .depend	$(MAKE) .dependdepend: local-depend	$(MAKE) -C memdisk depend# Hook to add private Makefile targets for the maintainer.-include Makefile.private# Include dependencies file-include .depend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -