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

嵌入式Linux

开发平台:

Unix_Linux

  1. # $Id: Makefile,v 1.69 2001/11/19 04:09:53 davem Exp $
  2. # Makefile for the linux kernel.
  3. #
  4. # Note! Dependencies are done automagically by 'make dep', which also
  5. # removes any old dependencies. DON'T put your own dependencies here
  6. # unless it's something special (ie not a .c file).
  7. #
  8. # Note 2! The CFLAGS definitions are now in the main makefile...
  9. SH = $(CONFIG_SHELL)
  10. .S.s:
  11. $(CPP) $(AFLAGS) -ansi $< -o $*.s
  12. .S.o:
  13. $(CC) $(AFLAGS) -ansi -c $< -o $*.o
  14. all: kernel.o head.o init_task.o
  15. O_TARGET := kernel.o
  16. export-objs := sparc64_ksyms.o
  17. obj-y := process.o setup.o cpu.o idprom.o 
  18.    traps.o devices.o auxio.o 
  19.    irq.o ptrace.o time.o sys_sparc.o signal.o 
  20.    unaligned.o central.o pci.o starfire.o semaphore.o 
  21.    power.o sbus.o iommu_common.o sparc64_ksyms.o chmc.o
  22. obj-$(CONFIG_PCI)  += ebus.o isa.o pci_common.o pci_iommu.o 
  23.     pci_psycho.o pci_sabre.o pci_schizo.o
  24. obj-$(CONFIG_SMP)  += smp.o trampoline.o
  25. obj-$(CONFIG_SPARC32_COMPAT) += sys32.o sys_sparc32.o signal32.o ioctl32.o
  26. obj-$(CONFIG_BINFMT_ELF32) += binfmt_elf32.o
  27. obj-$(CONFIG_BINFMT_AOUT32) += binfmt_aout32.o
  28. ifdef CONFIG_SUNOS_EMUL
  29.   obj-y += sys_sunos32.o sunos_ioctl32.o
  30. else
  31.   ifdef CONFIG_SOLARIS_EMUL
  32.     obj-y += sys_sunos32.o sunos_ioctl32.o
  33.   endif
  34. endif
  35. head.o: head.S ttable.S itlb_base.S dtlb_base.S dtlb_backend.S dtlb_prot.S 
  36. etrap.S rtrap.S winfixup.S entry.S
  37. $(CC) $(AFLAGS) -ansi -c $*.S -o $*.o
  38. #
  39. # This is just to get the dependencies...
  40. #
  41. binfmt_elf32.o: $(TOPDIR)/fs/binfmt_elf.c
  42. ifneq ($(NEW_GCC),y)
  43.   CMODEL_CFLAG := -mmedlow
  44. else
  45.   CMODEL_CFLAG := -m64 -mcmodel=medlow
  46. endif
  47. check_asm: dummy
  48. @if [ ! -r $(HPATH)/asm/asm_offsets.h ] ; then 
  49.   touch $(HPATH)/asm/asm_offsets.h ; 
  50. fi
  51. @echo "/* Automatically generated. Do not edit. */" > asm_offsets.h
  52. @echo "#ifndef __ASM_OFFSETS_H__" >> asm_offsets.h
  53. @echo -e "#define __ASM_OFFSETS_H__n" >> asm_offsets.h
  54. @echo -e "#include <linux/config.h>n" >> asm_offsets.h
  55. @echo -e "#ifndef CONFIG_SMPn" >> asm_offsets.h
  56. @echo "#include <linux/config.h>" > tmp.c
  57. @echo "#undef CONFIG_SMP" >> tmp.c
  58. @echo "#include <linux/sched.h>" >> tmp.c
  59. $(CPP) $(CPPFLAGS) -P tmp.c -o tmp.i
  60. @echo "/* Automatically generated. Do not edit. */" > check_asm_data.c
  61. @echo "#include <linux/config.h>" >> check_asm_data.c
  62. @echo "#undef CONFIG_SMP" >> check_asm_data.c
  63. @echo "#include <linux/sched.h>" >> check_asm_data.c
  64. @echo 'unsigned int check_asm_data[] = {' >> check_asm_data.c
  65. $(SH) ./check_asm.sh -data task tmp.i check_asm_data.c
  66. $(SH) ./check_asm.sh -data mm tmp.i check_asm_data.c
  67. $(SH) ./check_asm.sh -data thread tmp.i check_asm_data.c
  68. @echo '};' >> check_asm_data.c
  69. $(CC) $(CPPFLAGS) $(CMODEL_CFLAG) -ffixed-g4 -S -o check_asm_data.s check_asm_data.c
  70. @echo "/* Automatically generated. Do not edit. */" > check_asm.c
  71. @echo 'extern int printf(const char *fmt, ...);' >>check_asm.c
  72. @echo 'unsigned int check_asm_data[] = {' >> check_asm.c
  73. $(SH) ./check_asm.sh -ints check_asm_data.s check_asm.c
  74. @echo '};' >> check_asm.c
  75. @echo 'int main(void) {' >> check_asm.c
  76. @echo 'int i = 0;' >> check_asm.c
  77. $(SH) ./check_asm.sh -printf task tmp.i check_asm.c
  78. $(SH) ./check_asm.sh -printf mm tmp.i check_asm.c
  79. $(SH) ./check_asm.sh -printf thread tmp.i check_asm.c
  80. @echo 'return 0; }' >> check_asm.c
  81. @rm -f tmp.[ci] check_asm_data.[cs]
  82. $(HOSTCC) -o check_asm check_asm.c
  83. ./check_asm >> asm_offsets.h
  84. @rm -f check_asm check_asm.c
  85. @echo -e "n#else /* CONFIG_SMP */n" >> asm_offsets.h
  86. @echo -e "#ifndef CONFIG_DEBUG_SPINLOCKn" >>asm_offsets.h
  87. @echo "#include <linux/config.h>" > tmp.c
  88. @echo "#undef CONFIG_SMP" >> tmp.c
  89. @echo "#define CONFIG_SMP 1" >> tmp.c
  90. @echo "#include <linux/sched.h>" >> tmp.c
  91. $(CPP) $(CPPFLAGS) -P tmp.c -o tmp.i
  92. @echo "/* Automatically generated. Do not edit. */" > check_asm_data.c
  93. @echo "#include <linux/config.h>" >> check_asm_data.c
  94. @echo "#undef CONFIG_SMP" >> check_asm_data.c
  95. @echo "#define CONFIG_SMP 1" >> check_asm_data.c
  96. @echo "#include <linux/sched.h>" >> check_asm_data.c
  97. @echo 'unsigned int check_asm_data[] = {' >> check_asm_data.c
  98. $(SH) ./check_asm.sh -data task tmp.i check_asm_data.c
  99. $(SH) ./check_asm.sh -data mm tmp.i check_asm_data.c
  100. $(SH) ./check_asm.sh -data thread tmp.i check_asm_data.c
  101. @echo '};' >> check_asm_data.c
  102. $(CC) $(CPPFLAGS) $(CMODEL_CFLAG) -ffixed-g4 -S -o check_asm_data.s check_asm_data.c
  103. @echo "/* Automatically generated. Do not edit. */" > check_asm.c
  104. @echo 'extern int printf(const char *fmt, ...);' >>check_asm.c
  105. @echo 'unsigned int check_asm_data[] = {' >> check_asm.c
  106. $(SH) ./check_asm.sh -ints check_asm_data.s check_asm.c
  107. @echo '};' >> check_asm.c
  108. @echo 'int main(void) {' >> check_asm.c
  109. @echo 'int i = 0;' >> check_asm.c
  110. $(SH) ./check_asm.sh -printf task tmp.i check_asm.c
  111. $(SH) ./check_asm.sh -printf mm tmp.i check_asm.c
  112. $(SH) ./check_asm.sh -printf thread tmp.i check_asm.c
  113. @echo 'return 0; }' >> check_asm.c
  114. @rm -f tmp.[ci] check_asm_data.[cs]
  115. $(HOSTCC) -o check_asm check_asm.c
  116. ./check_asm >> asm_offsets.h
  117. @rm -f check_asm check_asm.c
  118. @echo -e "n#else /* CONFIG_DEBUG_SPINLOCK */n" >> asm_offsets.h
  119. @echo "#include <linux/sched.h>" > tmp.c
  120. $(CPP) $(CPPFLAGS) -P -DCONFIG_DEBUG_SPINLOCK tmp.c -o tmp.i
  121. @echo "/* Automatically generated. Do not edit. */" > check_asm_data.c
  122. @echo "#include <linux/config.h>" >> check_asm_data.c
  123. @echo "#undef CONFIG_SMP" >> check_asm_data.c
  124. @echo "#define CONFIG_SMP 1" >> check_asm_data.c
  125. @echo "#include <linux/sched.h>" >> check_asm_data.c
  126. @echo 'unsigned int check_asm_data[] = {' >> check_asm_data.c
  127. $(SH) ./check_asm.sh -data task tmp.i check_asm_data.c
  128. $(SH) ./check_asm.sh -data mm tmp.i check_asm_data.c
  129. $(SH) ./check_asm.sh -data thread tmp.i check_asm_data.c
  130. @echo '};' >> check_asm_data.c
  131. $(CC) $(CPPFLAGS) -DCONFIG_DEBUG_SPINLOCK $(CMODEL_CFLAG) -ffixed-g4 -S -o check_asm_data.s check_asm_data.c
  132. @echo "/* Automatically generated. Do not edit. */" > check_asm.c
  133. @echo 'extern int printf(const char *fmt, ...);' >>check_asm.c
  134. @echo 'unsigned int check_asm_data[] = {' >> check_asm.c
  135. $(SH) ./check_asm.sh -ints check_asm_data.s check_asm.c
  136. @echo '};' >> check_asm.c
  137. @echo 'int main(void) {' >> check_asm.c
  138. @echo 'int i = 0;' >> check_asm.c
  139. $(SH) ./check_asm.sh -printf task tmp.i check_asm.c
  140. $(SH) ./check_asm.sh -printf mm tmp.i check_asm.c
  141. $(SH) ./check_asm.sh -printf thread tmp.i check_asm.c
  142. @echo 'return 0; }' >> check_asm.c
  143. @rm -f tmp.[ci] check_asm_data.[cs]
  144. $(HOSTCC) -o check_asm check_asm.c
  145. ./check_asm >> asm_offsets.h
  146. @rm -f check_asm check_asm.c
  147. @echo -e "#endif /* CONFIG_DEBUG_SPINLOCK */n" >> asm_offsets.h
  148. @echo -e "#endif /* CONFIG_SMP */n" >> asm_offsets.h
  149. @echo "#endif /* __ASM_OFFSETS_H__ */" >> asm_offsets.h
  150. @if test -r $(HPATH)/asm/asm_offsets.h; then 
  151.   if cmp -s asm_offsets.h $(HPATH)/asm/asm_offsets.h; then 
  152.     echo $(HPATH)/asm/asm_offsets.h is unchanged; 
  153.     rm -f asm_offsets.h; 
  154.   else 
  155.     mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; 
  156.   fi; 
  157. else 
  158.   mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; 
  159. fi
  160. include $(TOPDIR)/Rules.make