2 include $(TOP)/config/make.cfg
4 TARGETDIR := $(GENDIR)/$(CURDIR)
6 FILES := bootstrap screen elf support
8 #MM kernel-bootstrap-i386 : linklibs \
9 #MM kernel-kernel-kobj \
10 #MM kernel-exec-kobj \
11 #MM kernel-pc-i386-irq-kobj
12 kernel-bootstrap-i386: $(BINDIR)/boot/aros-pc-i386.gz
15 %mkdirs_q $(BINDIR)/boot $(OSGENDIR)/boot $(TARGETDIR) $(KOBJSDIR)
17 $(BINDIR)/boot/aros-pc-i386.gz : $(BINDIR)/boot/aros-pc-i386
20 $(BINDIR)/boot/aros-pc-i386: setup-pc-i386 $(KOBJSDIR)/bootstrap.o $(TARGETDIR)/kernel.bin.o
21 $(KERNEL_LD) $(KERNEL_LDFLAGS) -N -e kernel_bootstrap -Map $(OSGENDIR)/boot/aros.map -T $(SRCDIR)/$(CURDIR)/ldscript.lds \
22 -o $@ $(KOBJSDIR)/bootstrap.o $(TARGETDIR)/kernel.bin.o -L$(LIBDIR) -lm -lrom -lm
23 $(TARGET_STRIP) --strip-unneeded -R .note -R .comment $@
25 $(KOBJSDIR)/bootstrap.o: $(foreach f, $(FILES), $(TARGETDIR)/$(f).o $(TARGETDIR)/$(f).d)
26 $(KERNEL_LD) $(KERNEL_LDFLAGS) -r $(foreach f, $(FILES), $(TARGETDIR)/$(f).o) -o $@ -L$(LIBDIR) -lrom -lm
28 $(TARGETDIR)/kernel.bin.o: $(KOBJSDIR)/exec_library.o \
29 $(KOBJSDIR)/kernel_resource.o $(KOBJSDIR)/irq_hidd.o
30 $(TARGET_LD) $(LDFLAGS) -Map $(OSGENDIR)/boot/kernel.map \
31 -T $(SRCDIR)/$(CURDIR)/kernel.lds -o $(TARGETDIR)/kernel.bin \
32 $(KOBJSDIR)/kernel_resource.o $(KOBJSDIR)/exec_library.o \
33 $(KOBJSDIR)/irq_hidd.o -L$(LIBDIR) -larossupport -lrom \
34 -larosm -lamiga -lautoinit -llibinit
35 $(TARGET_STRIP) --strip-unneeded -R .note -R .comment \
36 $(TARGETDIR)/kernel.bin
37 cd $(TARGETDIR) && $(KERNEL_LD) $(KERNEL_LDFLAGS) -r --format binary \
38 --oformat elf32-i386 kernel.bin -o $@
44 $(TARGETDIR)/%.o : %.c
47 $(TARGETDIR)/%.o : %.S
50 $(TARGETDIR)/%.d : %.c
53 DEPS := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)