#
|
#
|
# Makefile for the linux kernel.
|
# Makefile for the linux kernel.
|
#
|
#
|
# Note! Dependencies are done automagically by 'make dep', which also
|
# Note! Dependencies are done automagically by 'make dep', which also
|
# removes any old dependencies. DON'T put your own dependencies here
|
# removes any old dependencies. DON'T put your own dependencies here
|
# unless it's something special (ie not a .c file).
|
# unless it's something special (ie not a .c file).
|
#
|
#
|
# Note 2! The CFLAGS definitions are now in the main makefile...
|
# Note 2! The CFLAGS definitions are now in the main makefile...
|
|
|
#.S.s:
|
#.S.s:
|
# $(CPP) -D__ASSEMBLY__ -traditional $< -o $*.s
|
# $(CPP) -D__ASSEMBLY__ -traditional $< -o $*.s
|
|
|
ifdef SMP
|
ifdef SMP
|
.S.o:
|
.S.o:
|
$(CC) -D__ASSEMBLY__ $(AFLAGS) -traditional -c $< -o $*.o
|
$(CC) -D__ASSEMBLY__ $(AFLAGS) -traditional -c $< -o $*.o
|
else
|
else
|
.S.o:
|
.S.o:
|
$(CC) -D__ASSEMBLY__ -traditional -c $< -o $*.o
|
$(CC) -D__ASSEMBLY__ -traditional -c $< -o $*.o
|
endif
|
endif
|
|
|
all: kernel.o head.o
|
all: kernel.o head.o
|
|
|
O_TARGET := kernel.o
|
O_TARGET := kernel.o
|
O_OBJS := process.o signal.o entry.o traps.o irq.o vm86.o bios32.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 ksyms.o
|
ptrace.o ioport.o ldt.o setup.o time.o sys_i386.o ksyms.o
|
OX_OBJS :=
|
OX_OBJS :=
|
|
|
ifdef CONFIG_APM
|
ifdef CONFIG_APM
|
OX_OBJS += apm.o
|
OX_OBJS += apm.o
|
endif
|
endif
|
|
|
ifdef SMP
|
ifdef SMP
|
|
|
ifdef CONFIG_MTRR
|
ifdef CONFIG_MTRR
|
O_OBJS += mtrr.o
|
O_OBJS += mtrr.o
|
endif
|
endif
|
|
|
O_OBJS += smp.o
|
O_OBJS += smp.o
|
|
|
head.o: head.S $(TOPDIR)/include/linux/tasks.h
|
head.o: head.S $(TOPDIR)/include/linux/tasks.h
|
$(CC) -D__ASSEMBLY__ -D__SMP__ -traditional -c $*.S -o $*.o
|
$(CC) -D__ASSEMBLY__ -D__SMP__ -traditional -c $*.S -o $*.o
|
|
|
else
|
else
|
|
|
head.o: head.S $(TOPDIR)/include/linux/tasks.h
|
head.o: head.S $(TOPDIR)/include/linux/tasks.h
|
$(CC) -D__ASSEMBLY__ -traditional -c $*.S -o $*.o
|
$(CC) -D__ASSEMBLY__ -traditional -c $*.S -o $*.o
|
|
|
endif
|
endif
|
|
|
hexify:
|
hexify:
|
$(HOSTCC) hexify.c -o hexify
|
$(HOSTCC) hexify.c -o hexify
|
|
|
smp.c: trampoline.hex
|
smp.c: trampoline.hex
|
|
|
trampoline.hex: trampoline hexify
|
trampoline.hex: trampoline hexify
|
(dd if=trampoline bs=1 skip=32 | ./hexify >trampoline.hex )
|
(dd if=trampoline bs=1 skip=32 | ./hexify >trampoline.hex )
|
|
|
trampoline: trampoline.o trampoline32.o
|
trampoline: trampoline.o trampoline32.o
|
$(LD86) -s -o $@ trampoline.o trampoline32.o
|
$(LD86) -s -o $@ trampoline.o trampoline32.o
|
|
|
trampoline.o: trampoline.s
|
trampoline.o: trampoline.s
|
$(AS86) -o $@ $<
|
$(AS86) -o $@ $<
|
|
|
trampoline32.o: trampoline32.s
|
trampoline32.o: trampoline32.s
|
$(AS386) -o $@ $<
|
$(AS386) -o $@ $<
|
|
|
trampoline.s: trampoline.S $(CONFIGURE) $(TOPDIR)/include/linux/config.h Makefile
|
trampoline.s: trampoline.S $(CONFIGURE) $(TOPDIR)/include/linux/config.h Makefile
|
$(CPP) -D__SMP__ -traditional $< -o $@
|
$(CPP) -D__SMP__ -traditional $< -o $@
|
|
|
trampoline32.s: trampoline32.S $(CONFIGURE) $(TOPDIR)/include/linux/config.h Makefile
|
trampoline32.s: trampoline32.S $(CONFIGURE) $(TOPDIR)/include/linux/config.h Makefile
|
$(CPP) -D__SMP__ -traditional $< -o $@
|
$(CPP) -D__SMP__ -traditional $< -o $@
|
|
|
clean:
|
clean:
|
rm -f trampoline trampoline.hex hexify
|
rm -f trampoline trampoline.hex hexify
|
|
|
include $(TOPDIR)/Rules.make
|
include $(TOPDIR)/Rules.make
|
|
|