51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
# Makefile for HOS
|
|
# Josh Holtrop
|
|
# Created: 07/08/04
|
|
# Modified: 08/22/04
|
|
|
|
# Assembler Information:
|
|
NASM=nasm
|
|
NASM_FLAGS=-f aout
|
|
|
|
# C Information:
|
|
CC=gcc
|
|
CC_FLAGS=-fleading-underscore -fno-builtin -nostdlib -nostartfiles -nodefaultlibs -I. -Wall
|
|
|
|
# Linker Information:
|
|
LD=ld
|
|
LD_FLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ld
|
|
|
|
all: Asm_Kernel C_Kernel
|
|
$(LD) $(LD_FLAGS) -Map kernel.map \
|
|
boot.o kernel.o asmfuncs.o mm.o vmm.o parallel.o conv.o kout.o \
|
|
vconsole.o display.o devices.o pic.o keyboard.o ramdisk.o vfs.o \
|
|
devfs.o -o kernel.bin
|
|
|
|
Asm_Kernel:
|
|
$(NASM) $(NASM_FLAGS) -l boot.lst boot.asm -o boot.o
|
|
$(NASM) $(NASM_FLAGS) -l asmfuncs.lst lang/asmfuncs.asm -o asmfuncs.o
|
|
|
|
C_Kernel:
|
|
$(CC) $(CC_FLAGS) -c kernel.c -o kernel.o
|
|
$(CC) $(CC_FLAGS) -c mm/mm.c -o mm.o
|
|
$(CC) $(CC_FLAGS) -c mm/vmm.c -o vmm.o
|
|
$(CC) $(CC_FLAGS) -c char/parallel.c -o parallel.o
|
|
$(CC) $(CC_FLAGS) -c lang/conv.c -o conv.o
|
|
$(CC) $(CC_FLAGS) -c kout.c -o kout.o
|
|
$(CC) $(CC_FLAGS) -c char/vconsole.c -o vconsole.o
|
|
$(CC) $(CC_FLAGS) -c fs/devices.c -o devices.o
|
|
$(CC) $(CC_FLAGS) -c display.c -o display.o
|
|
$(CC) $(CC_FLAGS) -c sys/pic.c -o pic.o
|
|
$(CC) $(CC_FLAGS) -c char/keyboard.c -o keyboard.o
|
|
$(CC) $(CC_FLAGS) -c block/ramdisk.c -o ramdisk.o
|
|
$(CC) $(CC_FLAGS) -c fs/devfs.c -o devfs.o
|
|
$(CC) $(CC_FLAGS) -c fs/vfs.c -o vfs.o
|
|
|
|
#################################################
|
|
# Clean up the source directory of any binaries #
|
|
#################################################
|
|
clean:
|
|
-rm -f *.o *.bin *.map *.lst *.out *~ fs/*~ sys/*~ block/*~ char/*~ lang/*~ mm/*~
|
|
|
|
|