OSDN Git Service

9c5d190b5a893db4d2fe5fce1264ae0dba8866e1
[vaneos/vaneosmain.git] / Kernel / Makefile~
1 TARGET      = ../bin/Kernel.vsb
2
3 #宣言
4 CC                      = gcc
5 RM                      = /bin/rm
6 MV                      = /bin/mv
7 LD                      = /usr/bin/ld
8 LN_S            = ln -s
9 AR                      = /usr/bin/ar
10 RANLIB          = ranlib
11 INCLUDES    = -I../include
12 LIBVANE         = ../lib/libvanec.a ../lib/libvanego.a
13 FLAGS           = -m32 -ffreestanding -fno-common -fno-builtin -fomit-frame-pointer -O2 -c
14 FLAGSC          = -m32 -ffreestanding -fno-common -nostdlib -masm=intel -fno-builtin -fomit-frame-pointer -O2 -c
15 LD          = ld -Ttext 0x100000 -T linkerscript -melf_i386 --oformat elf32-i386 -o
16
17 #サフィックス
18 .S.o:
19         ${CC} ${INCLUDES} ${FLAGS} $<
20 .c.o:
21         ${CC} ${INCLUDES} ${FLAGSC} $<
22         
23 #ソースコード
24 BOOT_C=boot.c
25 BOOT_S=load.S
26 VANE_S=Vane.S
27 KEYBOARD_C=KeyBoard.c
28 GDT_IDT_C=GDT_IDT.c
29 INTERRUPT_C=Interrupt.c
30 STDIO_C=stdio.c
31 STRING_C=string.c
32 ASM_INTERRUPT_S=ASM_Interrupt.S
33 SCANCODE_C=scancode.c
34 MEMMAN_C=memory.c
35 FAT_C=FAT.c
36 GRAPHIC_C=Graphical.c
37 SYSTEM_C=System.c
38 MESSAGE_C=Message.c
39 TIMER_C=timer.c
40 TASK_C=task.c
41
42 #オブジェクト
43 BOOT_OBJ=${BOOT_S:.S=.o} ${BOOT_C:.c=.o} ${VANE_S:.S=.o} ${KEYBOARD_C:.c=.o} ${STDIO_C:.c=.o} ${GDT_IDT_C:.c=.o} ${INTERRUPT_C:.c=.o} ${STRING_C:.c=.o} ${ASM_INTERRUPT_S:.S=.o} ${SCANCODE_C:.c=.o} ${MEMMAN_C:.c=.o} ${FAT_C:.c=.o} ${GRAPHIC_C:.c=.o} ${SYSTEM_C:.c=.o} ${MESSAGE_C:.c=.o} ${TIMER_C:.c=.o} ${TASK_C:.c=.o}
44
45 kernel: ${BOOT_OBJ}
46         ${LD} ${TARGET} ${BOOT_OBJ}
47
48 ${BOOT_OBJ}: ${BOOT_SRC}
49 clean::
50         -${RM}  -f *~ *.lo *.o make.log *.bak .a.out .core .*.core
51