--- a/data/Makefile
+++ b/data/Makefile
@@ -1,5 +1,4 @@
 # Makefile for TuxPuck , Copyright Jacob Kroon 2001-2002
-CC		= gcc
 SOURCES		= pad_png.c puck_png.c tux_png.c glass_png.c scoreboard_png.c \
 		  arcana_png.c mousebar_png.c title_jpg.c board_jpg.c \
 		  logo_jpg.c crash_ogg.c nock_ogg.c tux_apps_ogg.c \
@@ -9,27 +8,33 @@
 
 OBJS=$(SOURCES:.c=.o)
 
-%.o	: %.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
 libdata.a : $(OBJS)
-	ar r libdata.a $(OBJS)
-	ranlib libdata.a
+	$(AR) r libdata.a $(OBJS)
+	$(RANLIB) libdata.a
 
-$(SOURCES):
-	cd ../utils/; $(MAKE)
+monos_fnt.c:
 	../utils/ttf2font ttfs/mono.ttf monos.fnt 30 30
 	../utils/data2c monos.fnt monos_fnt
+	rm monos.fnt
+monob_fnt.c:
 	../utils/ttf2font ttfs/mono.ttf monob.fnt 45 45
 	../utils/data2c monob.fnt monob_fnt
-	rm *.fnt
+	rm monob.fnt
+title_jpg.c:
 	../utils/data2c jpgs/title.jpg title_jpg
+board_jpg.c:
 	../utils/data2c jpgs/board.jpg board_jpg
+logo_jpg.c:
 	../utils/data2c jpgs/logo.jpg logo_jpg
+pad_png.c: pngs/pad.png
 	../utils/data2c pngs/pad.png pad_png
+puck_png.c: pngs/puck.png
 	../utils/data2c pngs/puck.png puck_png
+scoreboard_png.c:
 	../utils/data2c pngs/scoreboard.png scoreboard_png
+mousebar_png.c:
 	../utils/data2c pngs/mousebar.png mousebar_png
+glass_png.c:
 	../utils/data2c pngs/glass.png glass_png
 	../utils/data2c pngs/piece1.png piece1_png
 	../utils/data2c pngs/piece2.png piece2_png
@@ -38,15 +43,22 @@
 	../utils/data2c pngs/piece5.png piece5_png
 	mv glass_png.c temp; cat temp piece?_png.c > glass_png.c
 	rm piece?_png.c temp
+crash_ogg.c:
 	../utils/data2c sounds/crash.ogg crash_ogg
+nock_ogg.c:
 	../utils/data2c sounds/nock.ogg nock_ogg
+tux_eyes_spr.c:
 	# Tux
 	../utils/anim tux/eyes.ac tux_eyes.spr
 	../utils/data2c tux_eyes.spr tux_eyes_spr
 	rm tux_eyes.spr
+tux_png.c: tux/tux.png
 	../utils/data2c tux/tux.png tux_png
+tux_apps_ogg.c:
 	../utils/data2c tux/apps.ogg tux_apps_ogg
+tux_boos_ogg.c:
 	../utils/data2c tux/boos.ogg tux_boos_ogg
+arcana_png.c:
 	# Arcana
 	../utils/data2c arcana/arcana.png arcana_png
 clean :
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,14 @@
 # Makefile for TuxPuck , Copyright Jacob Kroon 2001-2002
 NAME		= tuxpuck
 VERSION		= 0.8.2
-CC		= gcc
-CFLAGS		+= -D_VERSION=\"$(VERSION)\" -g -Wall
+CPPFLAGS	+= -D_VERSION=\"$(VERSION)\"
+CFLAGS		+= -Wall
 CSOURCES	= tuxpuck.c video.c audio.c menu.c sprite.c font.c timer.c \
 		  board.c entity.c glass.c scoreboard.c player.c zoom.c png.c \
 		  jpg.c intro.c tux.c arcana.c 
 INCLUDES	= tuxpuck.h video.h audio.h font.h
-	   	  
+SDL_CFLAGS = $(shell $$PKG_CONFIG --cflags sdl)
+SDL_LIBS = $(shell $$PKG_CONFIG --libs sdl)
 
 #############################################################
 
@@ -17,11 +18,11 @@
 endif
 
 %.o	: %.c
-	$(CC) $(CFLAGS) `sdl-config --cflags` -c -o $@ $<
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(SDL_CFLAGS) -c -o $@ $<
 
 $(NAME) : $(OBJS)
-	cd data; $(MAKE)
-	$(CC) $(CFLAGS) $(OBJS) data/libdata.a `sdl-config --libs` -lm -lpng \
+	cd data && $(MAKE)
+	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) data/libdata.a $(SDL_LIBS) -lm -lpng \
 	-ljpeg -lz -lvorbisfile -lvorbis -logg -o $(NAME)
 
 w32icon.o : data/icons/tuxpuck.ico
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -1,18 +1,23 @@
 # Makefile for TuxPuck Utils , Copyright Jacob Kroon 2001-2002
-CC		= gcc
-CFLAGS		+= -g -Wall -Werror
+CFLAGS		+= -Wall
+
+FREETYPE_CFLAGS = $(shell $$PKG_CONFIG --cflags freetype2)
+FREETYPE_LIBS = $(shell $$PKG_CONFIG --libs freetype2)
+
+SDL_CFLAGS = $(shell $$PKG_CONFIG --cflags sdl)
+SDL_LIBS = $(shell $$PKG_CONFIG --libs sdl)
 #############################################################
 
 all : ttf2font data2c anim
 
 ttf2font : ttf2font.c
-	$(CC) $(CFLAGS) ttf2font.c `freetype-config --cflags --libs` -o ttf2font
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) ttf2font.c -o ttf2font $(FREETYPE_CFLAGS) $(FREETYPE_LIBS)
 
 data2c : data2c.c
-	$(CC) $(CFLAGS) data2c.c `sdl-config --cflags --libs` -o data2c
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) data2c.c -o data2c $(SDL_CFLAGS) $(SDL_LIBS)
 
 anim : anim.c
-	$(CC) $(CFLAGS) anim.c `sdl-config --cflags --libs` -o anim
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) anim.c -o anim $(SDL_CFLAGS) $(SDL_LIBS)
 
 clean :
 	rm -f *~ data2c ttf2font anim
