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

Linux/Unix编程

开发平台:

Unix_Linux

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