patch-1.3.31 linux/arch/i386/kernel/Makefile

Next file: linux/arch/i386/kernel/entry.S
Previous file: linux/arch/i386/config.in
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.30/linux/arch/i386/kernel/Makefile linux/arch/i386/kernel/Makefile
@@ -7,21 +7,51 @@
 #
 # Note 2! The CFLAGS definitions are now in the main makefile...
 
+AS86    =as86 -0 -a
+AS386	=as86 -3
+LD86    =ld86 -0
+
+
 #.S.s:
 #	$(CPP) -D__ASSEMBLY__ -traditional $< -o $*.s
 .S.o:
 	$(CC) -D__ASSEMBLY__ -traditional -c $< -o $*.o
 
 all: kernel.o head.o
+
 O_TARGET := kernel.o
 O_OBJS   := process.o signal.o entry.o traps.o irq.o vm86.o bios32.o \
             ptrace.o ioport.o ldt.o setup.o time.o sys_i386.o
 
-
-#head.o: head.s
+ifdef CONFIG_SMP
+O_OBJS += smp.o
+endif
 
 head.o: head.S $(TOPDIR)/include/linux/tasks.h
 	$(CC) -D__ASSEMBLY__ -traditional -c $*.S -o $*.o
-#	$(CPP) -traditional -o $*.s $<
+
+hexify:
+	$(HOSTCC) hexify.c -o hexify
+
+trampoline.hex: trampoline hexify
+	(dd if=trampoline bs=1 skip=32 | ./hexify >trampoline.hex )
+
+trampoline: trampoline.o trampoline32.o
+	$(LD86) -s -o $@ trampoline.o trampoline32.o
+
+trampoline.o: trampoline.s
+	$(AS86) -o $@ $<
+
+trampoline32.o: trampoline32.s
+	$(AS386) -o $@ $<
+
+trampoline.s: trampoline.S $(CONFIGURE) $(TOPDIR)/include/linux/config.h Makefile
+	$(CPP) -traditional $< -o $@
+
+trampoline32.s: trampoline32.S $(CONFIGURE) $(TOPDIR)/include/linux/config.h Makefile
+	$(CPP) -traditional $< -o $@
+
+clean:
+	rm -f trampoline hexify
 
 include $(TOPDIR)/Rules.make

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this