summaryrefslogtreecommitdiffstats
path: root/arch/um/sys-ppc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/sys-ppc/Makefile')
-rw-r--r--arch/um/sys-ppc/Makefile69
1 files changed, 69 insertions, 0 deletions
diff --git a/arch/um/sys-ppc/Makefile b/arch/um/sys-ppc/Makefile
new file mode 100644
index 000000000000..af200268fddb
--- /dev/null
+++ b/arch/um/sys-ppc/Makefile
@@ -0,0 +1,69 @@
+OBJ = built-in.o
+
+.S.o:
+ $(CC) $(AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
+
+OBJS = ptrace.o sigcontext.o semaphore.o checksum.o miscthings.o misc.o \
+ ptrace_user.o sysrq.o
+
+EXTRA_AFLAGS := -DCONFIG_PPC32 -I. -I$(TOPDIR)/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 $@ $<
+
+semaphore.c:
+ rm -f $@
+ ln -s $(TOPDIR)/arch/ppc/kernel/$@ $@
+
+checksum.S:
+ rm -f $@
+ ln -s $(TOPDIR)/arch/ppc/lib/$@ $@
+
+mk_defs.c:
+ rm -f $@
+ ln -s $(TOPDIR)/arch/ppc/kernel/$@ $@
+
+ppc_defs.head:
+ rm -f $@
+ ln -s $(TOPDIR)/arch/ppc/kernel/$@ $@
+
+ppc_defs.h: mk_defs.c ppc_defs.head \
+ $(TOPDIR)/include/asm-ppc/mmu.h \
+ $(TOPDIR)/include/asm-ppc/processor.h \
+ $(TOPDIR)/include/asm-ppc/pgtable.h \
+ $(TOPDIR)/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 $(TOPDIR)/include/asm-ppc asm
+ $(CC) $(EXTRA_AFLAGS) $(AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
+ rm -f asm
+
+misc.o: misc.S ppc_defs.h
+ rm -f asm
+ ln -s $(TOPDIR)/include/asm-ppc asm
+ $(CC) $(EXTRA_AFLAGS) $(AFLAGS) -D__ASSEMBLY__ -D__UM_PPC__ -c $< -o $*.o
+ rm -f asm
+
+clean-files := $(OBJS) ppc_defs.h checksum.S semaphore.c mk_defs.c