summaryrefslogtreecommitdiff
path: root/src/librc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/librc/Makefile')
-rw-r--r--src/librc/Makefile29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/librc/Makefile b/src/librc/Makefile
index c18f222..5d53c64 100644
--- a/src/librc/Makefile
+++ b/src/librc/Makefile
@@ -5,8 +5,6 @@ SRCS= librc.c librc-daemon.c librc-depend.c librc-misc.c \
INCS= rc.h
VERSION_MAP= rc.map
-CFLAGS+= -DLIB=\"${LIBNAME}\"
-CFLAGS+= -DSYSCONFDIR=\"${SYSCONFDIR}\"
LDADD+= ${LIBKVM}
CFLAGS+= -I../includes
@@ -15,3 +13,30 @@ MK= ../../mk
include ${MK}/lib.mk
include ${MK}/cc.mk
include ${MK}/debug.mk
+
+# Massage our header file for our dirs
+SED_CMD= -e 's:@PREFIX@:${PREFIX}:g'
+SED_CMD+= -e 's:@LIB@:${LIBNAME}:g'
+SED_CMD+= -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g'
+_PKG_PREFIX_SH= if test -n "${PKG_PREFIX}" && test "${PKG_PREFIX}" != "/" && test "${PKG_PREFIX}" != "${PREFIX}"; then \
+ echo "-e 's:@PKG_PREFIX@:${PKG_PREFIX}:g'"; \
+ else \
+ echo "-e 's:.*@PKG_PREFIX@.*:\#undef RC_PKG_PREFIX:g'"; \
+ fi
+_PKG_PREFIX!= ${_PKG_PREFIX_SH}
+SED_CMD+= ${_PKG_PREFIX}$(shell ${_PKG_PREFIX_SH})
+
+_LCL_PREFIX_SH= if test -n "${LOCAL_PREFIX}" && test "${LOCAL_PREFIX}" != "/" && test "${LOCAL_PREFIX}" != "${PREFIX}"; then \
+ echo "-e 's:@LOCAL_PREFIX@:${LOCAL_PREFIX}:g'"; \
+ else \
+ echo "-e 's:@LOCAL_PREFIX@::g'"; \
+ fi
+_LCL_PREFIX!= ${_LCL_PREFIX_SH}
+SED_CMD+= ${_LCL_PREFIX}$(shell ${_LCL_PREFIX_SH})
+
+.SUFFIXES: .h.in
+.h.in.h:
+ ${SED} ${SED_CMD} $< > $@
+${SRCS}: rc.h
+
+CLEANFILES+= rc.h