Can wait on async library calls
[akaros.git] / boot / Makefrag
1 #
2 # Makefile fragment for the ROS kernel.
3 # This is NOT a complete makefile;
4 # you must run GNU make in the top-level directory
5 # where the GNUmakefile is located.
6 #
7
8 OBJDIRS += boot
9
10 BOOT_OBJS := $(OBJDIR)/boot/boot.o $(OBJDIR)/boot/main.o
11
12 $(OBJDIR)/boot/%.o: boot/%.c
13         @echo + cc -Os $<
14         @mkdir -p $(@D)
15         $(V)$(CC) -nostdinc $(KERN_CFLAGS) -Os -c -o $@ $<
16
17 $(OBJDIR)/boot/%.o: boot/%.S
18         @echo + as $<
19         @mkdir -p $(@D)
20         $(V)$(CC) -nostdinc $(KERN_CFLAGS) -c -o $@ $<
21
22 $(OBJDIR)/boot/main.o: boot/main.c
23         @echo + cc -Os $<
24         $(V)$(CC) -nostdinc $(KERN_CFLAGS) -Os -c -o $(OBJDIR)/boot/main.o boot/main.c
25
26 $(OBJDIR)/boot/boot: $(BOOT_OBJS)
27         @echo + ld boot/boot
28         $(V)$(LD) -N -e start -Ttext 0x7C00 -o $@.out $^
29         $(V)$(OBJDUMP) -S $@.out >$@.asm
30         $(V)$(OBJCOPY) -S -O binary $@.out $@
31         $(V)perl boot/sign.pl $(OBJDIR)/boot/boot
32