#
# C compiler
#
CC?=cc

#
# Installation prefix
#
PREFIX=/usr/local

#
# C options
#
CFLAGS = -Wall -pedantic -g
CFLAGS+= -DPREFIX=\"$(PREFIX)\"
CFLAGS+= `gtk-config --cflags` 
CLIBS= `gtk-config --libs`

RM=rm -f
PROGS=gtkballs

all: $(PROGS)

gtkballs: gtkballs.o path.o interface.o scoreboard.o license.o preferences.o
	$(CC) -o gtkballs $(CFLAGS) $(CLIBS) gtkballs.o path.o interface.o scoreboard.o license.o preferences.o

gtkballs.o: gtkballs.c path.h interface.h scoreboard.h license.h gtkballs.h preferences.h
	$(CC) -c $(CFLAGS) gtkballs.c

path.o: path.c path.h
	$(CC) -c $(CFLAGS) path.c

interface.o: interface.c interface.h gtkballs.h
	$(CC) -c $(CFLAGS) interface.c

scoreboard.o: scoreboard.c scoreboard.h
	$(CC) -c $(CFLAGS) scoreboard.c

license.o: license.c license.h
	$(CC) -c $(CFLAGS) license.c

preferences.o: preferences.c preferences.h
	$(CC) -c $(CFLAGS) preferences.c

install:
	install -d $(PREFIX)/bin
	install -s gtkballs $(PREFIX)/bin
	install -d -m 777 $(PREFIX)/share/gtkballs
	install -m 666 score $(PREFIX)/share/gtkballs
	install -m 444 COPYING $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/blue_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/brown_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/cyan_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/empty_cell.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/green_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/gtkballs.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/gtkballs_about.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/pink_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/red_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/yellow_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/small_blue_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/small_brown_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/small_cyan_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/small_green_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/small_pink_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/small_red_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/small_yellow_ball.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_down_1.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_down_2.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_left_1.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_left_2.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_right_1.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_right_2.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_up_1.xpm $(PREFIX)/share/gtkballs
	install -m 444 gtkballs-data/paw_up_2.xpm $(PREFIX)/share/gtkballs
	install -d $(PREFIX)/man/man6
	install -m 444 gtkballs.6 $(PREFIX)/man/man6

clean:
	$(RM) *.o *.bak *.orig *.rej *~ .*~ gtkballs tags TAGS core
