Added some extra flags needed for linking bootstrap.
[AROS.git] / arch / i386-pc / bootstrap / mmakefile.src
bloba03aa54e6521f54648fe513f22954f09e71c0a7f
1 # $Id$
2 include $(TOP)/config/make.cfg
4 TARGETDIR       := $(GENDIR)/$(CURDIR)
5 KOBJS           :=
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
15 setup-pc-i386 :
16         %mkdirs_q $(BINDIR)/boot $(OSGENDIR)/boot $(TARGETDIR) $(KOBJSDIR)
18 $(BINDIR)/boot/aros-pc-i386.gz : $(BINDIR)/boot/aros-pc-i386
19         @gzip -f $^
20         
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)
32         $(LINKER) -Wl,-r \
33                 $(foreach f, $(FILES), $(TARGETDIR)/$(f).o) -o $@ -L$(LIBDIR) \
34                 -lrom -lm
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 $@
49 #MM
50 clean ::
51         -$(RM) $(TESTS)
53 $(TARGETDIR)/%.o : %.c
54         %compile_q
56 $(TARGETDIR)/%.o : %.S
57         %compile_q
59 $(TARGETDIR)/%.d : %.c
60         %mkdepend_q
62 DEPS            := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)
63 -include $(DEPS)
65 %common