patch-2.1.97 linux/arch/sparc64/kernel/Makefile

Next file: linux/arch/sparc64/kernel/binfmt_aout32.c
Previous file: linux/arch/sparc64/defconfig
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.96/linux/arch/sparc64/kernel/Makefile linux/arch/sparc64/kernel/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.35 1997/09/20 21:48:58 davem Exp $
+# $Id: Makefile,v 1.36 1998/02/01 11:15:55 ecd Exp $
 # Makefile for the linux kernel.
 #
 # Note! Dependencies are done automagically by 'make dep', which also
@@ -61,13 +61,24 @@
 binfmt_elf32.o: $(TOPDIR)/fs/binfmt_elf.c
 
 check_asm: dummy
+	@echo "/* Automatically generated. Do not edit. */" > asm_offsets.h
+	@echo "#ifndef __ASM_OFFSETS_H__" >> asm_offsets.h
+	@echo "#define __ASM_OFFSETS_H__" >> asm_offsets.h
+	@echo "" >> asm_offsets.h
+	@echo "#ifndef __SMP__" >> asm_offsets.h
+	@echo "" >> asm_offsets.h
 	@echo "#include <linux/sched.h>" > tmp.c
 	$(CC) -E tmp.c -o tmp.i
-	@echo "/* Automatically generated. Do not edit. */" > check_asm.c; echo "#include <linux/sched.h>" >> check_asm.c; echo 'struct task_struct _task; struct mm_struct _mm; struct thread_struct _thread; int main(void) { printf ("/* Automatically generated. Do not edit. */\n#ifndef __ASM_OFFSETS_H__\n#define __ASM_OFFSETS_H__\n\n");' >> check_asm.c
+	@echo "/* Automatically generated. Do not edit. */" > check_asm.c
+	@echo "#include <linux/sched.h>" >> check_asm.c
+	@echo 'struct task_struct _task;' >> check_asm.c
+	@echo 'struct mm_struct _mm;' >> check_asm.c
+	@echo 'struct thread_struct _thread;' >> check_asm.c
+	@echo 'int main(void) {' >> check_asm.c
 	$(SH) ./check_asm.sh task tmp.i check_asm.c
 	$(SH) ./check_asm.sh mm tmp.i check_asm.c
 	$(SH) ./check_asm.sh thread tmp.i check_asm.c
-	@echo 'printf ("\n#endif /* __ASM_OFFSETS_H__ */\n"); return 0; }' >> check_asm.c
+	@echo 'return 0; }' >> check_asm.c
 	@rm -f tmp.[ci]
 	#$(CC) -o check_asm check_asm.c
 	# <hack> Until we can do this natively, a hack has to take place
@@ -75,9 +86,46 @@
 	$(HOSTCC) -Wa,-Av9a -o check_asm check_asm.s
 	@rm -f check_asm.s
 	# </hack>
-	./check_asm > asm_offsets.h
-	@if test -r $(HPATH)/asm/asm_offsets.h; then if cmp -s asm_offsets.h $(HPATH)/asm/asm_offsets.h; then echo $(HPATH)/asm/asm_offsets.h is unchanged; rm -f asm_offsets.h; else mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; fi; else mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; fi
+	./check_asm >> asm_offsets.h
 	@rm -f check_asm check_asm.c
+	@echo "" >> asm_offsets.h
+	@echo "#else /* __SMP__ */" >> asm_offsets.h
+	@echo "" >> asm_offsets.h
+	@echo "#include <linux/sched.h>" > tmp.c
+	$(CC) -D__SMP__ -E tmp.c -o tmp.i
+	@echo "/* Automatically generated. Do not edit. */" > check_asm.c
+	@echo "#include <linux/sched.h>" >> check_asm.c
+	@echo 'struct task_struct _task;' >> check_asm.c
+	@echo 'struct mm_struct _mm;' >> check_asm.c
+	@echo 'struct thread_struct _thread;' >> check_asm.c
+	@echo 'int main(void) {' >> check_asm.c
+	$(SH) ./check_asm.sh task tmp.i check_asm.c
+	$(SH) ./check_asm.sh mm tmp.i check_asm.c
+	$(SH) ./check_asm.sh thread tmp.i check_asm.c
+	@echo 'return 0; }' >> check_asm.c
+	@rm -f tmp.[ci]
+	#$(CC) -D__SMP__ -o check_asm check_asm.c
+	# <hack> Until we can do this natively, a hack has to take place
+	$(CC) -D__SMP__ -mmedlow -ffixed-g4 -S -o check_asm.s check_asm.c
+	$(HOSTCC) -Wa,-Av9a -o check_asm check_asm.s
+	@rm -f check_asm.s
+	# </hack>
+	./check_asm >> asm_offsets.h
+	@rm -f check_asm check_asm.c
+	@echo "" >> asm_offsets.h
+	@echo "#endif /* __SMP__ */" >> asm_offsets.h
+	@echo "" >> asm_offsets.h
+	@echo "#endif /* __ASM_OFFSETS_H__ */" >> asm_offsets.h
+	@if test -r $(HPATH)/asm/asm_offsets.h; then \
+	  if cmp -s asm_offsets.h $(HPATH)/asm/asm_offsets.h; then \
+	    echo $(HPATH)/asm/asm_offsets.h is unchanged; \
+	    rm -f asm_offsets.h; \
+	  else \
+	    mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; \
+	  fi; \
+	else \
+	  mv -f asm_offsets.h $(HPATH)/asm/asm_offsets.h; \
+	fi
 
 
 include $(TOPDIR)/Rules.make

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov