# MAGICKIT LINUX MAKEFILE
#

RM       = rm -f
CC       = gcc

CFLAGS   = -Werror -Wall -g

LINKFLAGS = -g

OBJS     = main.o input.o assemble.o expr.o code.o command.o\
         macro.o func.o proc.o symbol.o pcx.o output.o crc.o\
         pce.o map.o mml.o nes.o

EXEDIR   = ../../../bin

TARGPCE  = pceas
TARGNES  = nesasm
TARGETS  = $(TARGPCE) $(TARGNES)

#
#

all: $(TARGETS)

# CLEAN
#

clean:
	$(RM) *.o
	$(RM) $(TARGPCE)
	$(RM) $(TARGNES)
	$(RM) $(EXEDIR)/$(TARGPCE)
	$(RM) $(EXEDIR)/$(TARGNES)

# ASSEMBLER
#

$(OBJS)  : defs.h externs.h protos.h
main.o   : inst.h vars.h
expr.o   : expr.h
pce.o    : pce.h
nes.o    : nes.h
%.o : %.c
	$(CC) $(CFLAGS) -o $@ -c $<

# EXE
#

$(TARGPCE) : $(OBJS)
	$(CC) $(LINKFLAGS) -o $(TARGPCE) $(OBJS)
	cp $(TARGPCE) $(EXEDIR)

$(TARGNES) : $(OBJS)
	$(CC) $(LINKFLAGS) -o $(TARGNES) $(OBJS)
	cp $(TARGNES) $(EXEDIR)

