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

Next file: linux/arch/sparc64/kernel/check_asm.sh
Previous file: linux/arch/sparc64/Makefile
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.28/linux/arch/sparc64/kernel/Makefile linux/arch/sparc64/kernel/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.1 1996/12/26 10:16:41 davem Exp $
+# $Id: Makefile,v 1.5 1997/03/04 16:26:54 jj Exp $
 # Makefile for the linux kernel.
 #
 # Note! Dependencies are done automagically by 'make dep', which also
@@ -13,20 +13,33 @@
 .S.o:
 	$(CC) -D__ASSEMBLY__ -ansi -c $< -o $*.o
 
-all: kernel.o head.o initobj.o finitobj.o
+all: kernel.o head.o
 
 O_TARGET := kernel.o
-O_OBJS   := etrap.o rtrap.o signal32.o
+O_OBJS   := etrap.o rtrap.o hack.o process.o # signal32.o
 OX_OBJS  := sparc64_ksyms.o
 
 head.o: head.S
 	$(CC) -D__ASSEMBLY__ -ansi -c $*.S -o $*.o
 
-initobj.o: initobj.S
-	$(CC) -D__ASSEMBLY__ -ansi -c initobj.S -o initobj.o
-
-finitobj.o: initobj.S
-	$(CC) -D__ASSEMBLY__ -ansi -c finitobj.S -o finitobj.o
+check_asm: dummy
+	@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
+	$(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
+	@rm -f tmp.[ci]
+	#$(CC) -o check_asm check_asm.c
+	# <hack> Until we can do this natively, a hack has to take place
+	$(CC) -mmedlow -S -o check_asm.s check_asm.c
+	$(HOSTCC) -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
+	@rm -f check_asm check_asm.c
 
 
 include $(TOPDIR)/Rules.make

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