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

Linux/Unix编程

开发平台:

Unix_Linux

  1. #
  2. # linux/arch/arm/boot/compressed/Makefile
  3. #
  4. # create a compressed vmlinuz image from the original vmlinux
  5. #
  6. # Note! SYSTEM, ZTEXTADDR, ZBSSADDR and ZRELADDR are now exported
  7. # from arch/arm/boot/Makefile
  8. #
  9. HEAD  = head.o
  10. OBJS  = misc.o
  11. CFLAGS  = $(CPPFLAGS) -O2 -DSTDC_HEADERS $(CFLAGS_BOOT)
  12. FONTC  = $(TOPDIR)/drivers/video/font_acorn_8x8.c
  13. ZLDFLAGS  = -p -X -T vmlinux.lds
  14. #
  15. # Architecture dependencies
  16. #
  17. ifeq ($(CONFIG_ARCH_ACORN),y)
  18. OBJS += ll_char_wr.o font.o
  19. ZLDFLAGS += -defsym params=$(PARAMS_PHYS)
  20. endif
  21. ifeq ($(CONFIG_ARCH_NETWINDER),y)
  22. OBJS += head-netwinder.o
  23. endif
  24. ifeq ($(CONFIG_ARCH_SHARK),y)
  25. OBJS += head-shark.o ofw-shark.o
  26. endif
  27. ifeq ($(CONFIG_ARCH_INTEGRATOR),y)
  28. OBJS += head-integrator.o
  29. endif
  30. ifeq ($(CONFIG_ARCH_MX1ADS),y)
  31. OBJS += head-mx1ads.o
  32. endif
  33. ifeq ($(CONFIG_ARCH_CAMELOT),y)
  34. OBJS += head-epxa10db.o
  35. endif
  36. ifeq ($(CONFIG_ARCH_FTVPCI),y)
  37. OBJS += head-ftvpci.o
  38. endif
  39. ifeq ($(CONFIG_ARCH_L7200),y)
  40. OBJS += head-l7200.o
  41. endif
  42. ifeq ($(CONFIG_ARCH_CLPS7500),y)
  43. HEAD = head-clps7500.o
  44. endif
  45. ifeq ($(CONFIG_ARCH_P720T),y)
  46. # Borrow this code from SA1100
  47. OBJS += head-sa1100.o
  48. endif
  49. ifeq ($(CONFIG_ARCH_SA1100),y)
  50. OBJS += head-sa1100.o
  51. ifeq ($(CONFIG_SA1100_NANOENGINE),y)
  52.   OBJS += hw-bse.o
  53. endif
  54. endif
  55. SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/LOAD_ADDR/$(ZRELADDR)/;
  56. ifneq ($(ZBSSADDR),)
  57. SEDFLAGS += s/BSS_START/$(ZBSSADDR)/
  58. else
  59. SEDFLAGS += s/BSS_START/ALIGN(4)/
  60. endif
  61. LIBGCC := $(shell $(CC) $(CFLAGS) --print-libgcc-file-name)
  62. all: vmlinux
  63. vmlinux: $(HEAD) $(OBJS) piggy.o vmlinux.lds
  64. $(LD) $(ZLDFLAGS) $(HEAD) $(OBJS) piggy.o $(LIBGCC) -o vmlinux
  65. $(HEAD):  $(HEAD:.o=.S)
  66. $(CC) $(AFLAGS) -traditional -c $(HEAD:.o=.S)
  67. piggy.o: $(SYSTEM)
  68. $(OBJCOPY) -O binary -R .note -R .comment -S $(SYSTEM) piggy
  69. gzip $(GZFLAGS) < piggy > piggy.gz
  70. $(LD) -r -o $@ -b binary piggy.gz
  71. rm -f piggy piggy.gz
  72. font.o: $(FONTC)
  73. $(CC) $(CFLAGS) -Dstatic= -c -o $@ $(FONTC)
  74. vmlinux.lds: vmlinux.lds.in Makefile $(TOPDIR)/arch/$(ARCH)/boot/Makefile $(TOPDIR)/.config
  75. @sed "$(SEDFLAGS)" < vmlinux.lds.in > $@
  76. clean:; rm -f vmlinux core piggy* vmlinux.lds
  77. .PHONY: clean
  78. misc.o: misc.c $(TOPDIR)/include/asm/arch/uncompress.h $(TOPDIR)/lib/inflate.c
  79. %.o: %.S
  80. $(CC) $(AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$@) -c -o $@ $<