#################
# GCC toolchain #
#################

AS = nasm -f elf
CC = gcc
LD = gcc
OBJC = objcopy

#####################
# Compilation Flags #
#####################

TARGET = screenshot
BASE_ADDR = 0x00010BC0

ASFLAGS =
LDFLAGS = -nostartfiles -nodefaultlibs -N -Wl,-Ttext=$(BASE_ADDR)
CCFLAGS = -Wall -march=pentium3 -mcpu=pentium3 -Os -fomit-frame-pointer -ffast-math

OBJS =	main.o ntapi_intf.o

##############
# Make rules #
##############

all : $(TARGET).bin

%.bin : %.o
	$(OBJC) -O binary $< $@

$(TARGET).o : $(OBJS)
	$(LD) $(LDFLAGS) $(OBJS) -o $@

%.o: %.c
	$(CC) $(CCFLAGS) -c $< -o $@
	
%.o: %.asm
	$(AS) $(ASFLAGS) $< -o $@

install: $(TARGET).bin
	./insertcode

clean:
	rm -f *.o
	rm -f $(TARGET).bin

disasm:
	objdump -b binary -m i386 --adjust-vma=$(BASE_ADDR) -D $(TARGET).bin
