ASM = nasm
LNK = ld
ASFLAGS = -f elf
LDFLAGS = -m elf_i386
OBJEXEC = execute.o
OBJFORK = fork.o
OBJFKEX = forkexec.o
INCL = ../functions.asm

all: fork execute forkexec

forkexec: $(OBJFKEX)
	$(LNK) $(LDFLAGS) $(OBJFKEX) -o $@

$(OBJFKEX): forkexec.asm $(INCL)
	$(ASM) $(ASFLAGS) forkexec.asm

fork: $(OBJFORK)
	$(LNK) $(LDFLAGS) $(OBJFORK) -o $@

$(OBJFORK): fork.asm $(INCL)
	$(ASM) $(ASFLAGS) fork.asm

execute: $(OBJEXEC)
	$(LNK) $(LDFLAGS) $(OBJEXEC) -o $@
	
$(OBJEXEC): execute.asm $(INCL)
	$(ASM) $(ASFLAGS) execute.asm

clean:
	rm -f *.o execute fork forkexec

