5 CFLAGS
=-Wall
-O
-fstrength-reduce
-fomit-frame-pointer
-fcombine-regs
11 CC
=gcc
-m32
-g
-O2
-nostdinc
-fno-builtin
-I
$(INCDIR
) -I..
/..
/build
/main
12 CCASM
=gcc
-D__ASSEMBLY__
-g
-Os
-pipe
-fno-strict-aliasing
-fno-builtin
-ffreestanding
13 OBJS
=int.o arch.o gdt.o idt.o isrs.o irq.o timer.o vm86.o paging_i486.o paging.o rtc.o task.o syscall.o io.o elf32.o smp.o ipi.o
23 $(Q
)rm -f
*.o ..
/arch.a boot
/start.o
$(OBJS
)
30 @printf
" ASM $(subst $(shell pwd)/,,$(@))\n";
34 @printf
" ASM $(subst $(shell pwd)/,,$(@))\n";
35 $(Q
)$(CCASM
) -c
-o
$@
$<
38 @printf
" CC $(subst $(shell pwd)/,,$(@))\n";
43 int.o
: int.asm
$(MAKEDEP
)
44 paging_i486.o
: paging_i486.asm
$(MAKEDEP
)
45 paging.o
: paging.c
$(MAKEDEP
)
46 gdt.o
: gdt.c
$(MAKEDEP
)
47 idt.o
: idt.c
$(MAKEDEP
)
48 isrs.o
: isrs.c
$(MAKEDEP
)
49 irq.o
: irq.c
$(MAKEDEP
)
50 timer.o
: timer.c
$(MAKEDEP
)
51 arch.o
: arch.c
$(MAKEDEP
)
52 vm86.o
: vm86.c
$(MAKEDEP
)
53 rtc.o
: rtc.c
$(MAKEDEP
)
54 task.o
: task.c
$(MAKEDEP
)
55 syscall.o
: syscall.c
$(MAKEDEP
)
57 elf32.o
: elf32.c
$(MAKEDEP
)
58 smp.o
: smp.c
$(MAKEDEP
)
59 ipi.o
: ipi.c
$(MAKEDEP
)
62 arch.a
: $(OBJS
) $(MAKEDEP
)
63 @printf
" AR $(subst $(shell pwd)/,,$(@))\n";
64 $(Q
)ar rcs ..
/arch.a
$(OBJS
)