diff --git a/makefile b/makefile
index ee56a33..7f3c81f 100644
--- a/makefile
+++ b/makefile
@@ -203,7 +203,7 @@ CLI_LUAOBJS = \
 #
 # This is my compiler of choice, it seems to work most everywhere
 #
-CC = gcc
+CC ?= gcc
 
 # For allowing #if..#else..#endif constructs in LUA files - C. Blue
 # Note: The flags must contain
@@ -215,16 +215,26 @@ CC = gcc
 # need to use the gcc invocation below instead.
 #
 # cpp variant:
-CPP = cpp
-CPPFLAGS = -C -P
+#CPP = cpp
+#CPPFLAGS = -C -P
 # gcc variant:
-#CPP = gcc
-#CPPFLAGS = -x c -E -Wp,-C,-P
+CPP ?= gcc
+CPPFLAGS = -x c -E -Wp,-C,-P
 
 
 # For variations with X11
 X11BASE = /usr/X11R6
 
+# defines
+ifdef USE_SDL
+CFLAGS += -DSOUND_SDL $(shell sdl-config --cflags)
+SDL_LIBS = $(shell sdl-config --libs) -lSDL_mixer
+endif
+
+ifdef USE_X
+CFLAGS += -I${X11BASE}/include -DUSE_X11
+LIBS += -L${X11BASE}/lib -lX11
+endif
 
 ##
 ## Standard version -- supports X11 (main-x11.c)
@@ -236,6 +246,11 @@ X11BASE = /usr/X11R6
 ## With SDL
 #CFLAGS = -O2 -g -pipe -Wall -DUSE_X11 -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags`
 #LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lcrypt -lm `sdl-config --libs` -lSDL_mixer
+
+CFLAGS += -Wall
+CFLAGS += -DUSE_GCU -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99
+LIBS += -L/usr/pkg/lib $(shell ${PKG_CONFIG} --libs ncurses) -lcrypt -lm ${SDL_LIBS}
+
 ##
 ## Without SDL
 #CFLAGS = -O2 -g -pipe -Wall -DUSE_X11 -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99
@@ -259,7 +274,7 @@ X11BASE = /usr/X11R6
 #CFLAGS = -O2 -g -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags` -D_DEFAULT_SOURCE -DACC32 -fPIC
 CFLAGS = -O2 -g -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags` -D_DEFAULT_SOURCE -DACC32 -fPIC -Wno-format-truncation
 #LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lncurses -lcrypt -lm `sdl-config --libs` -lSDL_mixer
-LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lncurses -lcrypt -lm `sdl-config --libs` -lSDL_mixer
+LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 $(shell ${PKG_CONFIG} --libs ncurses) -lcrypt -lm $(shell sdl-config --libs) -lSDL_mixer
 ACCEDIT_LIBS = -lcurses -lcrypt
 ##
 ## Without SDL
