# XTux makefile
# David Lawrence, dmlawren@cs.adelaide.edu.au (30/APR 99)

# (Defaults)

# OPTIONS:
##############################
# If you want sound, set SOUND to 1 and uncomment SOUND_LIB
SOUND = 0
# SOUND_LIB=-lesd -laudiofile
##############################

X11_PREFIX=/usr/X11R6
INSTALLROOT=$(PWD)

CC=gcc
XTUX_BINARY=xtux
2XPM_BINARY=2xpm
X11_LIB=-L$(X11_PREFIX)/lib -lX11
MATH_LIB=-lm
XPM_LIB=-lXpm

CFLAGS=-I$(X11_PREFIX)/include -g -Wall -DUSESOUND=$(SOUND)
OBJECTS= input.o main.o map.o timing.o win.o image.o entity.o sound.o
2XPM_OBJECTS=2xpm.o

# Makefile commands: 

all:	xtux cnvtr

clean:
	@echo "Cleaning up directory."
	- rm *.o $(XTUX_BINARY) $(2XPM_BINARY) core *~ log errlog

# Applications:

xtux:	$(OBJECTS)
	$(CC)	$(OBJECTS) $(X11_LIB) $(XPM_LIB) $(MATH_LIB) \
		$(SOUND_LIB) \
		$(CFLAGS) -o $(XTUX_BINARY)
	chmod 755 $(XTUX_BINARY)

cnvtr:	$(2XPM_OBJECTS)
	$(CC)	$(2XPM_OBJECTS) -o $(2XPM_BINARY)
	chmod 755 $(2XPM_BINARY)

# Objects:

input.o: header.h win.h input.h input.c
	$(CC) input.c -c $(CFLAGS) -o input.o

main.o: header.h main.h win.h map.h input.h timing.h tile.h sound.h weap.h \
		main.c
	$(CC) main.c -c $(CFLAGS) -o main.o

map.o:  header.h main.h win.h tile.h map.h map.c
	$(CC)  map.c -c $(CFLAGS) -o map.o

timing.o:	header.h timing.h timing.c
	$(CC) timing.c -c $(CFLAGS) -o timing.o

win.o:  header.h main.h tile.h timing.h win.h sound.h win.c
	$(CC)  win.c -c $(CFLAGS) -o win.o

image.o: header.h main.h image.h image.c
	$(CC) image.c -c $(CFLAGS) -o image.o

entity.o:	header.h entity.h entity.c
		$(CC) entity.c -c $(CFLAGS) -o entity.o

sound.o: header.h sound.h sound.c
	$(CC) sound.c -c $(CFLAGS) -o sound.o

#bmp2xpm object

2xpm.o:	2xpm.c
	$(CC) 2xpm.c -c -o 2xpm.o
