2 include $(TOP)/config/make.cfg
4 TARGETDIR := $(GENDIR)/$(CURDIR)
6 FILES := bootstrap screen elf support
7 LINKER = $(KERNEL_CC) $(KERNEL_CFLAGS) -nostartfiles -static-libgcc
9 #MM kernel-bootstrap-i386 : linklibs \
10 #MM kernel-kernel-kobj \
11 #MM kernel-exec-kobj \
12 #MM kernel-pc-i386-irq-kobj
13 kernel-bootstrap-i386: $(BINDIR)/boot/aros-pc-i386.gz
16 %mkdirs_q $(BINDIR)/boot $(OSGENDIR)/boot $(TARGETDIR) $(KOBJSDIR)
18 $(BINDIR)/boot/aros-pc-i386.gz : $(BINDIR)/boot/aros-pc-i386
21 $(BINDIR)/boot/aros-pc-i386: setup-pc-i386 $(KOBJSDIR)/bootstrap.o \
22 $(TARGETDIR)/kernel.bin.o
23 $(LINKER) -Wl,-N,-e,kernel_bootstrap \
24 -Wl,-Map,$(OSGENDIR)/boot/aros.map \
25 -Wl,-T,$(SRCDIR)/$(CURDIR)/ldscript.lds \
26 -o $@ $(KOBJSDIR)/bootstrap.o $(TARGETDIR)/kernel.bin.o \
27 -L$(LIBDIR) -lm -lrom -lm
28 $(TARGET_STRIP) --strip-unneeded -R .note -R .comment $@
30 $(KOBJSDIR)/bootstrap.o: \
31 $(foreach f, $(FILES), $(TARGETDIR)/$(f).o $(TARGETDIR)/$(f).d)
33 $(foreach f, $(FILES), $(TARGETDIR)/$(f).o) -o $@ -L$(LIBDIR) \
36 $(TARGETDIR)/kernel.bin.o: $(KOBJSDIR)/exec_library.o \
37 $(KOBJSDIR)/kernel_resource.o $(KOBJSDIR)/irq_hidd.o
38 $(LINKER) -Wl,-Map,$(OSGENDIR)/boot/kernel.map \
39 -Wl,-T,$(SRCDIR)/$(CURDIR)/kernel.lds \
40 -o $(TARGETDIR)/kernel.bin \
41 $(KOBJSDIR)/kernel_resource.o $(KOBJSDIR)/exec_library.o \
42 $(KOBJSDIR)/irq_hidd.o -L$(LIBDIR) -larossupport -lrom \
43 -larosm -lamiga -lautoinit -llibinit
44 $(TARGET_STRIP) --strip-unneeded -R .note -R .comment \
45 $(TARGETDIR)/kernel.bin
46 cd $(TARGETDIR) && $(KERNEL_LD) $(KERNEL_LDFLAGS) -r --format binary \
47 --oformat elf32-i386 kernel.bin -o $@
53 $(TARGETDIR)/%.o : %.c
56 $(TARGETDIR)/%.o : %.S
59 $(TARGETDIR)/%.d : %.c
62 DEPS := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)