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