4 # Add future prerequisites somewhere among the list of libraries.
5 # You really should not have to add anything in the $(LD) line.
8 $(OBJCOPY) -O binary $< $@
11 $(call INSTALLFILE_RULE,fiasco,fiasco)
13 $(BOOT).elf: $(KERNEL)
14 cp $(KERNEL) $(BOOT).elf
19 $(BOOT).elf: $(srcdir)/boot.arm.ld $(CRT0) kernel.o $(OBJ_BOOT) $(ABI) $(DRIVERS) $(CXXLIB) $(MINILIBC)
20 @echo " ... Building boot image"
22 $(VERBOSE)$(LD) $(LDFLAGS) -T $< -Ttext $(CONFIG_BOOT_LOAD_ADDR) \
23 -o $@.unstripped $(filter-out $< libgluedriverslibc.a, $^) libgluedriverslibc.a $(LIBGCC)
24 $(VERBOSE)$(LD) $(LDFLAGS) -T $< -Ttext $(CONFIG_BOOT_LOAD_ADDR) \
25 -o $@ $(filter-out $< libgluedriverslibc.a, $^) libgluedriverslibc.a $(LIBGCC) -s --gc-sections
30 $(OBJCOPY) -B arm -I binary -O elf32-littlearm $* $@
35 # $(OBJCOPY) -B arm -I binary -O elf32-littlearm $* $@.ex
36 # echo 'asm(".section .rodata.modules; '\
37 # '_bin_$(basename $*)_name: '\
38 # '.ascii \"$(basename $*)\"; .byte 0; '\
39 # '.section .modules; .word _binary_$(basename $*)_start; '\
40 # '.word _binary_$(basename $*)_size; '\
41 # '.word _bin_$(basename $*)_name; ");' > $@.ex.c
42 # $(CC) -c $@.ex.c -o $@.ex.o
43 # $(LD) -r $@.ex.o $@.ex -o $@
44 # #$(RM) -f $@.ex $@.ex.c $@.ex.o
47 $(OBJCOPY) -S $(KERNEL) $(@:.o=)
48 $(OBJCOPY) -B arm -I binary -O elf32-littlearm $(@:.o=) $@