1OBJ = built-in.o
2
3.S.o:
4	$(CC) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
5
6OBJS = ptrace.o sigcontext.o checksum.o miscthings.o misc.o \
7	ptrace_user.o sysrq.o
8
9asflags-y := -DCONFIG_PPC32 -I. -I$(srctree)/arch/ppc/kernel
10
11all: $(OBJ)
12
13$(OBJ): $(OBJS)
14	rm -f $@
15	$(LD) $(LINKFLAGS) --start-group $^ --end-group -o $@
16
17ptrace_user.o: ptrace_user.c
18	$(CC) -D__KERNEL__ $(USER_CFLAGS) $(ccflags-y) -c -o $@ $<
19
20sigcontext.o: sigcontext.c
21	$(CC) $(USER_CFLAGS) $(ccflags-y) -c -o $@ $<
22
23checksum.S:
24	rm -f $@
25	ln -s $(srctree)/arch/ppc/lib/$@ $@
26
27mk_defs.c:
28	rm -f $@
29	ln -s $(srctree)/arch/ppc/kernel/$@ $@
30
31ppc_defs.head:
32	rm -f $@
33	ln -s $(srctree)/arch/ppc/kernel/$@ $@
34
35ppc_defs.h: mk_defs.c ppc_defs.head \
36		$(srctree)/include/asm-ppc/mmu.h \
37		$(srctree)/include/asm-ppc/processor.h \
38		$(srctree)/include/asm-ppc/pgtable.h \
39		$(srctree)/include/asm-ppc/ptrace.h
40#	$(CC) $(CFLAGS) -S mk_defs.c
41	cp ppc_defs.head ppc_defs.h
42# for bk, this way we can write to the file even if it's not checked out
43	echo '#define THREAD 608' >> ppc_defs.h
44	echo '#define PT_REGS 8' >> ppc_defs.h
45	echo '#define CLONE_VM 256' >> ppc_defs.h
46#	chmod u+w ppc_defs.h
47#	grep '^#define' mk_defs.s >> ppc_defs.h
48#	rm mk_defs.s
49
50# the asm link is horrible, and breaks the other targets.  This is also
51# not going to work with parallel makes.
52
53checksum.o: checksum.S
54	rm -f asm
55	ln -s $(srctree)/include/asm-ppc asm
56	$(CC) $(asflags-y) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
57	rm -f asm
58
59misc.o: misc.S ppc_defs.h
60	rm -f asm
61	ln -s $(srctree)/include/asm-ppc asm
62	$(CC) $(asflags-y) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
63	rm -f asm
64
65clean-files := $(OBJS) ppc_defs.h checksum.S mk_defs.c
66