# Makefile for game HAUNTED HOUSE
# Targets are Linux / Windows (gcc compiler)
# and Apple II, Apple //e enhanced, C64, PET
# Atari 8bits(using cc65 compiler)
#
CC65=cl65
CC65_FLAG= -O

GCC=gcc
GCC_FLAG = -Wall 

SRC = haunted2.c

NOM_PROG=HAUNTED

EXE=haunted
EXE_A2=$(EXE)_a2
EXE_A2ENH=$(EXE)_a2enh
EXE_ATARI=$(EXE).xex
EXE_C64=$(EXE)_c64
EXE_PET=$(EXE)_pet

A2_TMP=.a2exe
DISK_A2=$(EXE).dsk

ifeq ($(OS),Windows_NT)
SYS_TARGET=disk_a2_win
else
SYS_TARGET=disk_a2_linux
endif

all: default

default : native
	@echo "All targets updated."

a2 : $(EXE_A2)
	@echo "Apple II target updated."

a2e : $(EXE_A2ENH)
	@echo "Apple //e target updated."

atari : $(EXE_ATARI)
	@echo "Atari 800 target updated."

c64 : $(EXE_C64)
	@echo "Commodore 64 target updated."

pet : $(EXE_PET)
	@echo "Commodore PET target updated."

native : $(EXE)
	@echo "Native target updated."

$(EXE_A2) : $(SRC) $(INC)
	$(CC65) $(CC65_FLAG) -t apple2 $(SRC) -o $(EXE_A2)
	cp -f $(EXE_A2) $(A2_TMP)

$(EXE_A2ENH) : $(SRC) $(INC)
	$(CC65) $(CC65_FLAG) -t apple2enh $(SRC) -o $(EXE_A2ENH)
	cp -f $(EXE_A2ENH) $(A2_TMP)

$(EXE_ATARI) : $(SRC) $(INC)
	$(CC65) $(CC65_FLAG) -t atari $(SRC) -o $(EXE_ATARI)

$(EXE_C64) : $(SRC) $(INC)
	$(CC65) $(CC65_FLAG) -t c64 $(SRC) -o $(EXE_C64)

$(EXE_PET) : $(SRC) $(INC)
	$(CC65) $(CC65_FLAG) -t pet $(SRC) -o $(EXE_PET)

$(EXE) : $(SRC) $(INC)
	$(GCC) $(GCC_FLAG) $(SRC) -o $(EXE)

clean :
	rm -f *.o a.out core $(EXE) $(EXE_A2) $(EXE_A2ENH) $(A2_TMP) $(EXE_ATARI) $(EXE_C64) $(EXE_PET) *~


backup : $(INC) $(SRC) makefile
	tar cvzf $(HOME)/backup/$(EXE)_`date +%y%m%d`.tar.gz *.c makefile install_a2.bat $(DISK_A2) 
	@echo "Backup completed."

disk_a2 : $(SYS_TARGET)
	@echo "Installation of $(A2_TMP) on $(DISK_A2) completed."

disk_a2_linux :
	$(HOME)/bin/ac -d $(DISK_A2) $(NOM_PROG) 
	$(HOME)/bin/ac -as $(DISK_A2) $(NOM_PROG) < $(A2_TMP)
	
disk_a2_win :
	./install_a2.bat $(DISK_A2) $(NOM_PROG) $(A2_TMP)
