Makefile
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #
  2. # arch/alpha/boot/Makefile
  3. #
  4. # This file is subject to the terms and conditions of the GNU General Public
  5. # License.  See the file "COPYING" in the main directory of this archive
  6. # for more details.
  7. #
  8. # Copyright (C) 1994 by Linus Torvalds
  9. #
  10. LINKFLAGS = -static -T bootloader.lds #-N -relax
  11. .S.s:
  12. $(CPP) $(AFLAGS) -traditional -o $*.o $<
  13. .S.o:
  14. $(CC) $(AFLAGS) -traditional -c -o $*.o $<
  15. OBJECTS = head.o main.o
  16. BPOBJECTS = head.o bootp.o
  17. TARGETS = vmlinux.gz tools/objstrip # also needed by aboot & milo
  18. VMLINUX = $(TOPDIR)/vmlinux
  19. OBJSTRIP = tools/objstrip
  20. all: $(TARGETS)
  21. @echo Ready to install kernel in $(shell pwd)/vmlinux.gz
  22. # normally no need to build these:
  23. rawboot: vmlinux.nh tools/lxboot tools/bootlx
  24. msb: tools/lxboot tools/bootlx vmlinux.nh
  25. ( cat tools/lxboot tools/bootlx vmlinux.nh ) > /dev/rz0a
  26. disklabel -rw rz0 'linux' tools/lxboot tools/bootlx
  27. bootimage: tools/mkbb tools/lxboot tools/bootlx vmlinux.nh
  28. ( cat tools/lxboot tools/bootlx vmlinux.nh ) > bootimage
  29. tools/mkbb bootimage tools/lxboot
  30. bootpfile: tools/bootph vmlinux.nh
  31. cat tools/bootph vmlinux.nh > bootpfile
  32. ifdef INITRD
  33. cat $(INITRD) >> bootpfile
  34. endif
  35. srmboot: bootdevice bootimage
  36. dd if=bootimage of=$(BOOTDEV) bs=512 seek=1 skip=1
  37. tools/mkbb $(BOOTDEV) tools/lxboot
  38. bootdevice:
  39. @test "$(BOOTDEV)" != ""  || (echo You must specify BOOTDEV ; exit -1)
  40. vmlinux.gz: vmlinux
  41. gzip -fv9 vmlinux
  42. main.o: ksize.h
  43. bootp.o: ksize.h
  44. ksize.h: vmlinux.nh dummy
  45. echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T
  46. ifdef INITRD
  47. [ -f $(INITRD) ] || exit 1
  48. echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
  49. endif
  50. cmp -s $@T $@ || mv -f $@T $@
  51. rm -f $@T
  52. vmlinux.nh: $(VMLINUX) $(OBJSTRIP)
  53. $(OBJSTRIP) -v $(VMLINUX) vmlinux.nh
  54. vmlinux: $(TOPDIR)/vmlinux
  55. $(STRIP) -o vmlinux $(VMLINUX)
  56. tools/lxboot: $(OBJSTRIP) bootloader
  57. $(OBJSTRIP) -p bootloader tools/lxboot
  58. tools/bootlx: bootloader $(OBJSTRIP)
  59. $(OBJSTRIP) -vb bootloader tools/bootlx
  60. tools/bootph: bootpheader $(OBJSTRIP)
  61. $(OBJSTRIP) -vb bootpheader tools/bootph
  62. $(OBJSTRIP): $(OBJSTRIP).c
  63. $(HOSTCC) $(HOSTCFLAGS) -I$(HPATH) $(OBJSTRIP).c -o $(OBJSTRIP)
  64. tools/mkbb: tools/mkbb.c
  65. $(HOSTCC) tools/mkbb.c -o tools/mkbb
  66. bootloader: $(OBJECTS)
  67. $(LD) $(LINKFLAGS) $(OBJECTS) $(LIBS) -o bootloader
  68. bootpheader: $(BPOBJECTS)
  69. $(LD) $(LINKFLAGS) $(BPOBJECTS) $(LIBS) -o bootpheader
  70. clean:
  71. rm -f $(TARGETS) bootloader bootimage bootpfile bootpheader
  72. rm -f tools/mkbb tools/bootlx tools/lxboot tools/bootph
  73. rm -f vmlinux.nh ksize.h
  74. dep:
  75. dummy: