#
# System loader makefile
#

FASM = fasm
CC = gcc
LD = ld


%.o : %.asm
	$(FASM) $< $@
	
%.o : %.cpp
	$(CC) $(CFLAGS) $< -o $@

%.o : %.c
	$(CC) $(CFLAGS) $< -o $@


PROJECT  = sysldr
OBJFILES = hddio.o hddproc.o sysldr.o gdt.o fatsp.o dllman.o stdfunc.o
CFLAGS   = -Wall -Wno-main -fno-builtin -nostdinc -c -x c -fno-leading-underscore -save-temps -masm=intel
LFLAGS   = --oformat binary --section-start .main=0x600 -Map mapfile.txt


$(PROJECT): $(OBJFILES)
	$(LD) $(LFLAGS) -o $(PROJECT) -T ld.lsc

	@echo ***** $(PROJECT) build finished successfully *****

clean:
	del	*.o
	del     $(PROJECT)
