CC = gcc
CFLAGS = -g -O2 -W -Wall -Wwrite-strings

all: asm81$(_exe) bintoprg$(_exe) packbin$(_exe) packkernel$(_exe) listprg$(_exe)

asm81$(_exe): asm81.o miniasm.o pack.o prgfile.o utils.o
	$(CC) $(CFLAGS) $(LDFLAGS) asm81.o miniasm.o pack.o prgfile.o utils.o -o asm81$(_exe)

bintoprg$(_exe): bintoprg.o prgfile.o utils.o
	$(CC) $(CFLAGS) $(LDFLAGS) bintoprg.o prgfile.o utils.o -o bintoprg$(_exe)

packbin$(_exe): packbin.o pack.o utils.o
	$(CC) $(CFLAGS) $(LDFLAGS) packbin.o pack.o utils.o -o packbin$(_exe)

packkernel$(_exe): packkernel.o
	$(CC) $(CFLAGS) $(LDFLAGS) packkernel.o -o packkernel$(_exe)

listprg$(_exe): listprg.o utils.o
	$(CC) $(CFLAGS) $(LDFLAGS) listprg.o utils.o -o listprg$(_exe)

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

clean:
	rm -f *.o
	rm -f bintoprg packkernel packbin asm81 listprg
	rm -f bintoprg.exe packkernel.exe packbin.exe asm81.exe listprg.exe

.PHONY: clean all
