Changed some dependencies. Now plain 'make' builds also bootstrap.
[AROS.git] / arch / i386-pc / bootstrap / mmakefile.src
blobc54d0bda1fea6217eb67f82e9a0bd5f402817a43
1 # $Id$
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
17 setup-pc-i386 :
18         %mkdirs_q $(BINDIR)/boot $(OSGENDIR)/boot $(TARGETDIR) $(KOBJSDIR)
20 $(BINDIR)/boot/aros-pc-i386.gz : $(BINDIR)/boot/aros-pc-i386
21         @gzip -f $^
22         
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)
34         $(LINKER1) -Wl,-r \
35                 $(foreach f, $(FILES), $(TARGETDIR)/$(f).o) -o $@ -L$(LIBDIR) \
36                 -lrom -lm
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 $@
51 #MM
52 clean ::
53         -$(RM) $(TESTS)
55 $(TARGETDIR)/%.o : %.c
56         %compile_q
58 $(TARGETDIR)/%.o : %.S
59         %compile_q
61 $(TARGETDIR)/%.d : %.c
62         %mkdepend_q
64 DEPS            := $(foreach f, $(FILES), $(TARGETDIR)/$(f).d)
65 -include $(DEPS)
67 %common