Makefile
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. # $Id: Makefile,v 1.26 2001/11/16 17:42:17 pkj Exp $
  2. # cris/Makefile
  3. #
  4. # This file is included by the global makefile so that you can add your own
  5. # architecture-specific flags and dependencies. Remember to do have actions
  6. # for "archclean" and "archdep" for cleaning up and making dependencies for
  7. # this architecture
  8. #
  9. # This file is subject to the terms and conditions of the GNU General Public
  10. # License.  See the file "COPYING" in the main directory of this archive
  11. # for more details.
  12. LD_SCRIPT=$(TOPDIR)/arch/cris/cris.ld
  13. # A bug in ld prevents us from having a (constant-value) symbol in a
  14. # "ORIGIN =" or "LENGTH =" expression.  We fix that by generating a
  15. # linker file with the symbolic part of those expressions evaluated.
  16. #  Unfortunately, there is trouble making vmlinux depend on anything we
  17. # generate here, so we *always* regenerate the final linker script and
  18. # replace the LD macro to get what we want.  Thankfully(?) vmlinux is
  19. # always rebuilt (due to calling make recursively and not knowing if
  20. # anything was rebuilt).
  21. #  The shell script to build in some kind of dependency is really not
  22. # necessary for reasons of speed.  It's there because always
  23. # regenerating stuff (even for incremental linking of subsystems!) is
  24. # even more nauseating.
  25. LD = if [ ! -e $(LD_SCRIPT).tmp -o $(LD_SCRIPT) -nt $(LD_SCRIPT).tmp ]; then 
  26.           sed -e s/@CONFIG_ETRAX_DRAM_VIRTUAL_BASE@/0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)/ 
  27.               -e s/@CONFIG_ETRAX_DRAM_SIZE_M@/$(CONFIG_ETRAX_DRAM_SIZE)/ 
  28.               < $(LD_SCRIPT) > $(LD_SCRIPT).tmp; 
  29.      else true; 
  30.      fi && $(CROSS_COMPILE)gcc -mlinux -nostdlib
  31. LINKFLAGS = -mlinux -T $(LD_SCRIPT).tmp
  32. # objcopy is used to make binary images from the resulting linked file
  33. OBJCOPY := $(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S
  34. # -mlinux enables -march=v10, -fno-underscores, -D__linux__ among others
  35. CFLAGS := $(CFLAGS) -mlinux -pipe
  36. ifdef CONFIG_ETRAX_KGDB
  37. CFLAGS := $(subst -fomit-frame-pointer,,$(CFLAGS)) -g
  38. CFLAGS += -fno-omit-frame-pointer
  39. endif
  40. AFLAGS += -mlinux
  41. HEAD := arch/cris/kernel/head.o
  42. SUBDIRS += arch/cris/kernel arch/cris/mm arch/cris/lib arch/cris/drivers
  43. ifdef CONFIG_ETRAX_AXISFLASHMAP
  44. # only build this if axis flash map is used, because they depend on
  45. # each others config options
  46. SUBDIRS += arch/cris/boot/rescue
  47. endif
  48. CORE_FILES += arch/cris/kernel/kernel.o arch/cris/mm/mm.o
  49. DRIVERS += arch/cris/drivers/drivers.o
  50. LIBGCC = $(shell $(CC) $(CFLAGS) -print-file-name=libgcc.a)
  51. LIBS := $(TOPDIR)/arch/cris/lib/lib.a $(LIBS) $(TOPDIR)/arch/cris/lib/lib.a $(LIBGCC)
  52. arch/cris/kernel: dummy
  53. $(MAKE) linuxsubdirs SUBDIRS=arch/cris/kernel
  54. arch/cris/mm: dummy
  55. $(MAKE) linuxsubdirs SUBDIRS=arch/cris/mm
  56. MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
  57. vmlinux.bin: vmlinux
  58. $(OBJCOPY) vmlinux vmlinux.bin
  59. timage: vmlinux.bin
  60. cat vmlinux.bin cramfs.img >timage
  61. simimage: timage
  62. cp vmlinux.bin simvmlinux.bin
  63. # the following will remake timage without compiling the kernel
  64. # it does of course require that all object files exist...
  65. cramfs:
  66. ## cramfs      - Creates a cramfs image
  67. mkcramfs -b 8192 -m romfs_meta.txt root cramfs.img
  68. cat vmlinux.bin cramfs.img >timage
  69. clinux: vmlinux.bin decompress.bin rescue.bin
  70. decompress.bin: dummy
  71. @make -C arch/cris/boot/compressed decompress.bin
  72. rescue.bin: dummy
  73. @make -C arch/cris/boot/rescue rescue.bin
  74. zImage: vmlinux.bin
  75. ## zImage     - Compressed kernel (gzip)
  76. @$(MAKEBOOT) zImage
  77. compressed: zImage
  78. archclean:
  79. @$(MAKEBOOT) clean
  80. rm -f timage vmlinux.bin cramfs.img
  81. rm -rf $(LD_SCRIPT).tmp
  82. archmrproper:
  83. archdep:
  84. @$(MAKEBOOT) dep