Index: /trunk/psModules/Doxyfile.in
===================================================================
--- /trunk/psModules/Doxyfile.in	(revision 5066)
+++ /trunk/psModules/Doxyfile.in	(revision 5067)
@@ -934,5 +934,5 @@
 # interpreter (i.e. the result of `which perl').
 
-PERL_PATH              = /usr/bin/perl
+PERL_PATH              = @PERL@
 
 #---------------------------------------------------------------------------
Index: /trunk/psModules/Makefile.am
===================================================================
--- /trunk/psModules/Makefile.am	(revision 5066)
+++ /trunk/psModules/Makefile.am	(revision 5067)
@@ -1,3 +1,2 @@
-
 SUBDIRS = src test
 
Index: /trunk/psModules/configure.ac
===================================================================
--- /trunk/psModules/configure.ac	(revision 5066)
+++ /trunk/psModules/configure.ac	(revision 5067)
@@ -8,48 +8,70 @@
 AM_MAINTAINER_MODE
 
+dnl otherise AC_PROG_CC will default CFLAGS to "-g -02"
+if test -z ${CFLAGS} ; then
+  CFLAGS="-g -O0"
+fi
+AC_SUBST([CFLAGS])
+
 AC_LANG(C)
 AC_PROG_CC
-
-dnl AC_SUBST(LDFLAGS)
-AC_SUBST(CFLAGS)
-
-AC_MSG_CHECKING([C99 flag])
-if test "$GCC" == "yes"
-then
-CFLAGS="${CFLAGS=} -std=gnu99"
-AC_MSG_RESULT([-std=gnu99])
-else
-CFLAGS="${CFLAGS=} -std=c99"
-AC_MSG_RESULT([-std=c99])
-fi
-
+dnl FIXME document why GNU_SOURCE is being set
 AC_GNU_SOURCE
-
 AC_PROG_INSTALL
 AM_PROG_LIBTOOL
 
 AC_PREFIX_DEFAULT([`pwd`])
-test "$prefix" = NONE && prefix=`pwd`
 
-DOXYGEN="doxygen Doxyfile"
-AC_CHECK_PROG(DOXYGEN,doxygen,[echo Doxygen not detected in configure stage.])
-AC_SUBST(DOXYGEN,$DOXYGEN)
+dnl cflags --------------------------------------------------------------------
+dnl FIXME document why -std=gnu99 is being set
 
+AC_MSG_CHECKING([C99 flag])
+if test "$GCC" = "yes" ; then
+  AM_CFLAGS="-std=gnu99"
+  AC_MSG_RESULT([-std=gnu99])
+else
+  AM_CFLAGS="-std=c99"
+  AC_MSG_RESULT([-std=c99])
+fi
+AM_CFLAGS="${AM_CFLAGS=} -Wall -Werror"
+AC_SUBST([AM_CFLAGS])
+
+dnl doxygen -------------------------------------------------------------------
+
+AC_PATH_PROG([DOXYGEN], [doxygen], [missing])
+if test "$DOXYGEN" = "missing" ; then
+  AC_MSG_ERROR([doxygen is required])
+fi
+
+dnl needed by doxygen
+AC_PATH_PROG([PERL], [perl], [missing])
+if test "$PERL" = "missing" ; then
+  AC_MSG_ERROR([perl is required])
+fi
+
+dnl pslib ---------------------------------------------------------------------
 AC_ARG_WITH(pslib-config,
 [  --with-pslib-config=FILE  Specify location of psLib-config script],
-[PSLIB_CONFIG=$withval],
-[PSLIB_CONFIG=`which pslib-config`])
-AC_CHECK_FILE($PSLIB_CONFIG,[],
+[PSLIB_CONFIG=$withval])
+
+if test -z ${PSLIB_CONFIG} ; then 
+  PKG_CHECK_MODULES([PSLIB], [pslib >= 0.7.0])
+else
+  AC_CHECK_FILE($PSLIB_CONFIG,[],
     [AC_MSG_ERROR([psLib is required.  If not in path, use --with-pslib-config to specify pslib-config script location.])])
-AC_MSG_CHECKING([PSLIB cflags])
-PSLIB_CFLAGS="`${PSLIB_CONFIG} --cflags`"
-AC_MSG_RESULT([${PSLIB_CFLAGS}])
-AC_MSG_CHECKING([PSLIB libs])
-PSLIB_LIBS="`${PSLIB_CONFIG} --libs`"
-AC_MSG_RESULT([${PSLIB_LIBS}])
-CFLAGS="${CFLAGS=} ${PSLIB_CFLAGS}"
-LDFLAGS="${LDFLAGS=} ${PSLIB_LIBS}"
+  AC_MSG_CHECKING([PSLIB_CFLAGS])
+  PSLIB_CFLAGS="`${PSLIB_CONFIG} --cflags`"
+  AC_MSG_RESULT([${PSLIB_CFLAGS}])
+  AC_MSG_CHECKING([PSLIB_LIBS])
+  PSLIB_LIBS="`${PSLIB_CONFIG} --libs`"
+  AC_MSG_RESULT([${PSLIB_LIBS}])
+fi
 
-CFLAGS="${CFLAGS=} -Wall -Werror"
+PSMODULE_CFLAGS="${PSMODULE_CFLAGS=} ${PSLIB_CFLAGS}"
+PSMODULE_LIBS="${PSMODULE_CFLAGS=} ${PSLIB_LIBS}"
+dnl ---------------------------------------------------------------------------
+
+AC_SUBST([PSMODULE_CFLAGS])
+AC_SUBST([PSMODULE_LIBS])
 
 AC_CONFIG_FILES([
Index: /trunk/psModules/psmodule-config.in
===================================================================
--- /trunk/psModules/psmodule-config.in	(revision 5066)
+++ /trunk/psModules/psmodule-config.in	(revision 5067)
@@ -3,4 +3,5 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
+libdir=@libdir@
 includedir=@includedir@
 
@@ -55,9 +56,9 @@
 
     --cflags)
-       	echo -I@includedir@ @CFLAGS@
+       	echo -I${includedir} @PSMODULE_CFLAGS@
        	;;
 
     --libs)
-       	echo -L@libdir@ -lpsmodule @LDFLAGS@
+       	echo -L${libdir} -lpsmodule @PSMODULE_LIBS@
        	;;
 
Index: /trunk/psModules/psmodule.pc.in
===================================================================
--- /trunk/psModules/psmodule.pc.in	(revision 5066)
+++ /trunk/psModules/psmodule.pc.in	(revision 5067)
@@ -4,7 +4,7 @@
 includedir=@includedir@
 
-Name: psLib
-Description: Pan-STARRS Library
+Name: psmodule
+Description: Pan-STARRS Module Library
 Version: @VERSION@
-Libs: -L@libdir@ -lpsmodule @LDFLAGS@
-Cflags: @CFLAGS@
+Libs: -L${libdir} -lpsmodule @PSMODULE_LIBS@
+Cflags: -I${includedir} @PSMODULE_CFLAGS@
Index: /trunk/psModules/src/Makefile.am
===================================================================
--- /trunk/psModules/src/Makefile.am	(revision 5066)
+++ /trunk/psModules/src/Makefile.am	(revision 5067)
@@ -1,5 +1,7 @@
-lib_LIBRARIES = libpsmodule.a
+lib_LTLIBRARIES = libpsmodule.la
 
-libpsmodule_a_SOURCES = pmFlatField.c \
+libpsmodule_la_CPPFLAGS = $(PSLIB_CFLAGS)
+libpsmodule_la_LDFLAGS  = -release $(PACKAGE_VERSION)
+libpsmodule_la_SOURCES  = pmFlatField.c \
   pmImageCombine.c \
   pmImageSubtract.c \
@@ -12,5 +14,7 @@
   pmAstrometry.c
 
-libpsmodule_a_HEADERS = pmFlatFieldErrors.h \
+libpsmodule_ladir = $(includedir)
+libpsmodule_la_HEADERS = \
+  pmFlatFieldErrors.h \
   pmMaskBadPixelsErrors.h \
   pmFlatField.h \
@@ -26,4 +30,2 @@
 
 EXTRA_DIST = psErrorCodes.dat
-
-libpsmodule_adir = $(includedir)
Index: /trunk/psModules/test/Makefile.am
===================================================================
--- /trunk/psModules/test/Makefile.am	(revision 5066)
+++ /trunk/psModules/test/Makefile.am	(revision 5067)
@@ -1,6 +1,6 @@
 # Makefile for psModule tests
 
-AM_LDFLAGS = -L$(top_builddir)/src -lpsmodule $(LDFLAGS)
-AM_CFLAGS = -I$(top_srcdir)/src
+AM_LDFLAGS = $(top_builddir)/src/libpsmodule.la $(PSMODULE_LIBS)
+AM_CFLAGS  = @AM_CFLAGS@ -I$(top_srcdir)/src $(PSMODULE_CFLAGS)
 
 TESTS = tst_pmFlatField \
