📄 makefile
字号:
UCLIBC_VERSION = 0.9.11UCLIBC = uClibc-$(UCLIBC_VERSION)$(UCLIBC)_SOURCE = http://www.uclibc.org/downloads/$(UCLIBC).tar.bz2UCLIBC_INSTALL = $(CURDIR)/uClibcUDHCP_VERSION = 0.9.7UDHCP = udhcp-$(UDHCP_VERSION)$(UDHCP)_SOURCE = http://udhcp.busybox.net/source/$(UDHCP).tar.gzBUSYBOX_VERSION = 0.60.3BUSYBOX = busybox-$(BUSYBOX_VERSION)$(BUSYBOX)_SOURCE = http://www.busybox.net/downloads/$(BUSYBOX).tar.bz2LINUX_WLAN_VERSION = 0.1.13LINUX_WLAN = linux-wlan-ng-$(LINUX_WLAN_VERSION)$(LINUX_WLAN)_SOURCE = ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/$(LINUX_WLAN).tar.gzMKNBI_VERSION = 1.2MKNBI = mknbi-$(MKNBI_VERSION)$(MKNBI)_SOURCE = http://belnet.dl.sourceforge.net/sourceforge/etherboot/$(MKNBI).tar.gzexport PATH := $(UCLIBC_INSTALL)/bin:$(PATH)all : utils initrd-skel mknbi mknbi-linux # Run "make tftpboot/initrd-kernel_module.img" to generate a suitable initrd # Run "make tftpboot/boot-kernel_module.nbi" to generate a suitable NBI # Run "make all-nbi" to generate a complete set of NBIs%.tar.bz2 : [ -d $* ] || wget $($*_SOURCE) [ -f $*.t*gz ] && ( gunzip $*.t*gz ; bzip2 -9 $*.tar ) || trueUTILS = udhcpc busybox wlanctlutils : $(UTILS)clean : partlyclean rm -rf uClibc rm -rf $(UCLIBC) rm -rf tftpboot/*partlyclean : rm -rf $(UDHCP) rm -rf $(BUSYBOX) rm -rf $(LINUX_WLAN) rm -rf $(MKNBI) rm -rf initrd-skel rm -f *.img *.ird *.nbi insert-modules rm -f $(UTILS) mknbi-linux rm -f *.uClibc *.busybox *.udhcpc *.wlanctl.PHONY : all utils clean partlycleanuClibc : $(UCLIBC) rm -rf $@ $(MAKE) -C $(UCLIBC) install$(UCLIBC) : $(UCLIBC).tar.bz2 [ -d $@ ] || tar xvjf $< [ -f $(UCLIBC)/Config ] || perl -pe 's/^(INCLUDE_RPC).*/$$1 = true/ ;' \ -e 's{^(DEVEL_PREFIX).*}{$$1 = $(UCLIBC_INSTALL)} ;' \ -e 's{^(SHARED_LIB_LOADER_PATH).*}{$$1 = /lib} ;' \ $(UCLIBC)/extra/Configs/Config.i386 > $(UCLIBC)/Config # Stripping out spurious CVS directories (screws up local cvs update) rm -rf `find $(UCLIBC) -name CVS` $(MAKE) -C $(UCLIBC) install -m 644 $(UCLIBC)/COPYING.LIB COPYING.uClibcudhcpc : $(UDHCP) install -m 755 -s $(UDHCP)/$@ $@$(UDHCP) : $(UDHCP).tar.bz2 uClibc [ -d $@ ] || tar xvjf $< if [ ! -f $@/.script.c.patch ]; then \ patch -d $@ -b -z .orig < script.c.patch ; \ touch $@/.script.c.patch ; \ fi $(MAKE) LDFLAGS+=-static -C $(UDHCP) install -m 644 $(UDHCP)/AUTHORS AUTHORS.udhcpc install -m 644 $(UDHCP)/COPYING COPYING.udhcpcbusybox : $(BUSYBOX) install -m 755 -s $(BUSYBOX)/$@ $@$(BUSYBOX) : $(BUSYBOX).tar.bz2 uClibc [ -d $@ ] || tar xvjf $< perl -pi.orig -e \ 's/^.*(#define BB_(FEATURE_NFSMOUNT|INSMOD|PIVOT_ROOT|IFCONFIG|ROUTE)).*/$$1/' \ $(BUSYBOX)/Config.h perl -pi.orig -e \ 's/^(DOSTATIC).*$$/$$1 = true/' \ $(BUSYBOX)/Makefile $(MAKE) -C $(BUSYBOX) install -m 644 $(BUSYBOX)/AUTHORS AUTHORS.busybox install -m 644 $(BUSYBOX)/LICENSE LICENSE.busyboxwlanctl : $(LINUX_WLAN) install -m 755 -s $(LINUX_WLAN)/src/wlanctl/$@ $@$(LINUX_WLAN) : $(LINUX_WLAN).tar.bz2 uClibc linux-wlan.cfg [ -d $@ ] || tar xvjf $< cd $(LINUX_WLAN) ; ./Configure -d ../linux-wlan.cfg perl -pi.orig -e \ 's/(-o wlanctl)/-static $$1/' \ $(LINUX_WLAN)/src/wlanctl/Makefile $(MAKE) -C $(LINUX_WLAN)/src/wlanctl install -m 644 $(LINUX_WLAN)/COPYING COPYING.wlanctl install -m 644 $(LINUX_WLAN)/LICENSE LICENSE.wlanctl install -m 644 $(LINUX_WLAN)/THANKS THANKS.wlanctlmknbi-linux : $(MKNBI)mknbi : $(MKNBI)$(MKNBI) : $(MKNBI).tar.bz2 [ -d $@ ] || tar xvjf $< if [ ! -f $@/.mknbi-encap.patch ]; then \ patch -d $@ -b -z .orig < mknbi-encap.patch ; \ touch $@/.mknbi-encap.patch ; \ fi make -C $(MKNBI) LIBDIR=`pwd`/$(MKNBI) mknbi install -m 755 $(MKNBI)/mknbi mknbi-linux make -C $(MKNBI) clean make -C $(MKNBI)initrd-skel : $(UTILS) linuxrc udhcpc-post include-modules rm -rf $@ mkdir -p $@ mkdir -p $@/dev mkdir -p $@/etc mkdir -p $@/bin mkdir -p $@/lib mkdir -p $@/lib/modules mkdir -p $@/proc mkdir -p $@/sysroot ln -s bin $@/sbin install -m 755 busybox $@/bin/ install -m 755 udhcpc $@/bin/ install -m 755 wlanctl $@/bin/ ln -s busybox $@/bin/sh ln -s busybox $@/bin/echo ln -s busybox $@/bin/mknod ln -s busybox $@/bin/chmod ln -s busybox $@/bin/insmod ln -s busybox $@/bin/ifconfig ln -s busybox $@/bin/route ln -s busybox $@/bin/mount ln -s busybox $@/bin/pivot_root ln -s busybox $@/bin/umount ln -s busybox $@/bin/[ ln -s busybox $@/bin/sleep ln -s busybox $@/bin/grep install -m 755 linuxrc $@/linuxrc install -m 755 udhcpc-post $@/bin/udhcpc-posttftpboot/initrd-%.img : initrd-skel ./mkinitrd-net -l `echo $* | tr . " "`tftpboot/boot-%.nbi : tftpboot/initrd-%.img mknbi-linux ./mknbi-linux --format=nbi --target=linux /boot/vmlinuz $< > $@ sudo cp $@ $(tftpbootdir)all-nbi : all ./mknbi-set -l -v ls tftpbootprefix = /usrsysconfdir = /etcbindir = $(prefix)/binlibdir = $(prefix)/libmandir = $(prefix)/share/mandocdir = $(prefix)/share/doctftpbootdir = /var/lib/tftpbootinitrdskeldir = $(prefix)/lib/mkinitrd-net/initrd-skelinstall : mkdir -p $(libdir)/mknbi mkdir -p $(bindir) mkdir -p $(sysconfdir) mkdir -p $(tftpbootdir) mkdir -p $(initrdskeldir) install -m 755 mkinitrd-net include-modules mknbi-set $(bindir)/ cp -a initrd-skel/* $(initrdskeldir)/ install -m 644 mknbi-set.conf dhcpd.conf.etherboot.include $(sysconfdir) make -C $(MKNBI) INSTPREFIX=$(prefix) MANDIR=$(mandir)/man1 \ DOCDIR=$(docdir)/$(MKNBI) install
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -