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