#
# Vane Operating System  Makefile by VOSystems
#--------------------------------------------//

TARGET      = Kernel.vsb
#INTTARGET	=bin/INT.vsb


#宣言
CC			= gcc
RM			= /bin/rm
MV			= /bin/mv
LD			= /usr/bin/ld
LN_S		= ln -s
AR			= /usr/bin/ar
RANLIB		= ranlib
INCLUDES    = -I./include
FLAGS		= -m32 -ffreestanding -fno-common -fno-builtin -fomit-frame-pointer -O2 -c
FLAGSC		= -m32 -ffreestanding -fno-common -masm=intel -fno-builtin -fomit-frame-pointer -O2 -c
LD          = ld  -melf_i386  -Ttext=0x100000 --oformat elf32-i386 -o
#LDAPP		= ld -melf_i386	-Ttext=0x280000 --oformat elf32-i386 -o

#サフィックス
.S.o:
	${CC} ${INCLUDES} ${FLAGS} $<
.c.o:
	${CC} ${INCLUDES} ${FLAGSC} $<

#ソースコード
BOOT_C=boot.c
BOOT_S=load.S
VANE_S=Vane.S
KEYBOARD_C=KeyBoard.c
STDIO_C=stdio.c

#STDIO_C=stdio.c
BIN=Kernel.vsb

#INT_C=int.c

#オブジェクト
BOOT_OBJ=${BOOT_S:.S=.o} ${BOOT_C:.c=.o} ${VANE_S:.S=.o} ${KEYBOARD_C:.c=.o} ${STDIO_C:.c=.o}
INT_OBJ=${INT_C:.=.o}

#処理
copy:
	cp /media/DATA/OS/OS/Kernel.vsb /media/VaneOS/Vane/Kernel.vsb
all:
	make vane
	make copy

vane: ${BOOT_OBJ}
	${LD} ${TARGET} ${BOOT_OBJ}
	#${LDAPP} ${INTTARGET} ${INT_OBJ}

${BOOT_OBJ}: ${BOOT_SRC}
clean::
	-${RM}  -f *~ *.lo *.o make.log *.bak .a.out .core .*.core

