summaryrefslogtreecommitdiffstats
path: root/arch/um/sys-ppc/Makefile
blob: b8bc844fd2c46d8d9316890068d6927622aaab46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
OBJ = built-in.o

.S.o:
	$(CC) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o

OBJS = ptrace.o sigcontext.o checksum.o miscthings.o misc.o \
	ptrace_user.o sysrq.o

EXTRA_AFLAGS := -DCONFIG_PPC32 -I. -I$(srctree)/arch/ppc/kernel

all: $(OBJ)

$(OBJ): $(OBJS)
	rm -f $@
	$(LD) $(LINKFLAGS) --start-group $^ --end-group -o $@

ptrace_user.o: ptrace_user.c
	$(CC) -D__KERNEL__ $(USER_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<

sigcontext.o: sigcontext.c
	$(CC) $(USER_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<

checksum.S:
	rm -f $@
	ln -s $(srctree)/arch/ppc/lib/$@ $@

mk_defs.c:
	rm -f $@
	ln -s $(srctree)/arch/ppc/kernel/$@ $@

ppc_defs.head:
	rm -f $@
	ln -s $(srctree)/arch/ppc/kernel/$@ $@

ppc_defs.h: mk_defs.c ppc_defs.head \
		$(srctree)/include/asm-ppc/mmu.h \
		$(srctree)/include/asm-ppc/processor.h \
		$(srctree)/include/asm-ppc/pgtable.h \
		$(srctree)/include/asm-ppc/ptrace.h
#	$(CC) $(CFLAGS) -S mk_defs.c
	cp ppc_defs.head ppc_defs.h
# for bk, this way we can write to the file even if it's not checked out
	echo '#define THREAD 608' >> ppc_defs.h
	echo '#define PT_REGS 8' >> ppc_defs.h
	echo '#define CLONE_VM 256' >> ppc_defs.h
#	chmod u+w ppc_defs.h
#	grep '^#define' mk_defs.s >> ppc_defs.h
#	rm mk_defs.s

# the asm link is horrible, and breaks the other targets.  This is also
# not going to work with parallel makes.

checksum.o: checksum.S
	rm -f asm
	ln -s $(srctree)/include/asm-ppc asm
	$(CC) $(EXTRA_AFLAGS) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
	rm -f asm

misc.o: misc.S ppc_defs.h
	rm -f asm
	ln -s $(srctree)/include/asm-ppc asm
	$(CC) $(EXTRA_AFLAGS) $(KBUILD_AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
	rm -f asm

clean-files := $(OBJS) ppc_defs.h checksum.S mk_defs.c
OpenPOWER on IntegriCloud