Allow for OS and SUBOS folders so we can introduce NetBSD scripts whilst keeping BSD for all BSD's.
This commit is contained in:
@@ -2,5 +2,5 @@
|
||||
|
||||
SUBDIR= libeinfo librc rc
|
||||
|
||||
TOPDIR= ..
|
||||
include ${TOPDIR}/subdir.mk
|
||||
MK= ../mk
|
||||
include ${MK}/subdir.mk
|
||||
|
||||
27
src/cc.mk
27
src/cc.mk
@@ -1,27 +0,0 @@
|
||||
# Copyright 2008 Roy Marples <roy@marples.name>
|
||||
|
||||
# Setup some good default CFLAGS
|
||||
|
||||
CFLAGS?= -O2 -pipe
|
||||
CSTD?= c99
|
||||
|
||||
# GNU Make way of detecting gcc flags we can use
|
||||
check_gcc=$(shell if ${CC} $(1) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
|
||||
then echo "$(1)"; else echo "$(2)"; fi)
|
||||
|
||||
# pmake check for extra cflags
|
||||
WEXTRA!= for x in -Wdeclaration-after-statement -Wsequence-point -Wextra; do \
|
||||
if ${CC} $$x -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \
|
||||
then echo -n "$$x "; fi \
|
||||
done
|
||||
|
||||
# Loads of nice flags to ensure our code is good
|
||||
CFLAGS+= -pedantic -std=${CSTD} \
|
||||
-Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \
|
||||
-Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \
|
||||
-Wbad-function-cast -Wnested-externs -Wcomment -Winline \
|
||||
-Wchar-subscripts -Wcast-align -Wno-format-nonliteral \
|
||||
$(call check_gcc, -Wdeclaration-after-statement) \
|
||||
$(call check_gcc, -Wsequence-point) \
|
||||
$(call check_gcc, -Wextra) ${WEXTRA}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# This only works for make implementations that always include a .depend if
|
||||
# it exists. Only GNU make does not do this.
|
||||
|
||||
# Copyright 2008 Roy Marples <roy@marples.name>
|
||||
|
||||
CLEANFILES+= .depend
|
||||
|
||||
.depend: ${SRCS}
|
||||
${CC} ${CFLAGS} -MM ${SRCS} > .depend
|
||||
|
||||
depend: .depend
|
||||
65
src/lib.mk
65
src/lib.mk
@@ -1,65 +0,0 @@
|
||||
# rules to build a library
|
||||
# based on FreeBSD's bsd.lib.mk
|
||||
|
||||
# Copyright 2008 Roy Marples
|
||||
|
||||
LIBNAME?= lib
|
||||
|
||||
SHLIB_NAME= lib${LIB}.so.${SHLIB_MAJOR}
|
||||
SHLIB_LINK= lib${LIB}.so
|
||||
SHLIBDIR?= /${LIBNAME}
|
||||
SONAME?= ${SHLIB_NAME}
|
||||
|
||||
OBJS+= ${SRCS:.c=.o}
|
||||
SOBJS+= ${OBJS:.o=.So}
|
||||
_LIBS= lib${LIB}.a ${SHLIB_NAME}
|
||||
|
||||
ECHO?= echo
|
||||
AR?= ar
|
||||
RANLIB?= ranlib
|
||||
INSTALL?= install
|
||||
|
||||
PICFLAG?= -fPIC
|
||||
|
||||
INCDIR?= /usr/include
|
||||
INCMODE?= 0444
|
||||
|
||||
LIBDIR?= /usr/${LIBNAME}
|
||||
LIBMODE?= 0444
|
||||
|
||||
.SUFFIXES: .So
|
||||
|
||||
.c.So:
|
||||
${CC} ${PICFLAG} -DPIC ${CFLAGS} -c $< -o $@
|
||||
|
||||
all: depend ${_LIBS}
|
||||
|
||||
lib${LIB}.a: ${OBJS} ${STATICOBJS}
|
||||
@${ECHO} building static library $@
|
||||
${AR} rc $@ $^
|
||||
${RANLIB} $@
|
||||
|
||||
${SHLIB_NAME}: ${VERSION_MAP}
|
||||
LDFLAGS+= -Wl,--version-script=${VERSION_MAP}
|
||||
|
||||
${SHLIB_NAME}: ${SOBJS}
|
||||
@${ECHO} building shared library $@
|
||||
@rm -f $@ ${SHLIB_LINK}
|
||||
@ln -fs $@ ${SHLIB_LINK}
|
||||
${CC} ${LDFLAGS} -shared -Wl,-x \
|
||||
-o $@ -Wl,-soname,${SONAME} \
|
||||
${SOBJS} ${LDADD}
|
||||
|
||||
install: all
|
||||
${INSTALL} -d ${DESTDIR}${LIBDIR}
|
||||
${INSTALL} -m ${LIBMODE} lib${LIB}.a ${DESTDIR}${LIBDIR}
|
||||
${INSTALL} -d ${DESTDIR}${SHLIBDIR}
|
||||
${INSTALL} -m ${LIBMODE} ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
|
||||
ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK}
|
||||
${INSTALL} -d ${DESTDIR}${INCDIR}
|
||||
for x in ${INCS}; do ${INSTALL} -m ${INCMODE} $$x ${DESTDIR}${INCDIR}; done
|
||||
|
||||
clean:
|
||||
rm -f ${OBJS} ${SOBJS} ${_LIBS} ${SHLIB_LINK} ${CLEANFILES}
|
||||
|
||||
include ${TOPDIR}/depend.mk
|
||||
@@ -1,16 +1,16 @@
|
||||
TOPDIR= ..
|
||||
include ${TOPDIR}/os.mk
|
||||
MK= ../../mk
|
||||
include ${MK}/os.mk
|
||||
|
||||
LIB= einfo
|
||||
SHLIB_MAJOR= 1
|
||||
SHLIB_MAJOR= 1
|
||||
SRCS= libeinfo.c
|
||||
INCS= einfo.h
|
||||
VERSION_MAP= einfo.map
|
||||
VERSION_MAP= einfo.map
|
||||
|
||||
SHLIBDIR= /${LIBNAME}
|
||||
|
||||
CFLAGS+= -I${TOPDIR}
|
||||
CFLAGS+= -I../includes
|
||||
|
||||
include ${TOPDIR}/cc.mk
|
||||
include ${TOPDIR}/lib.mk
|
||||
include ${TOPDIR}/${TERMCAP}.mk
|
||||
include ${MK}/cc.mk
|
||||
include ${MK}/lib.mk
|
||||
include ${MK}/${TERMCAP}.mk
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
TOPDIR= ..
|
||||
include ${TOPDIR}/os.mk
|
||||
MK= ../../mk
|
||||
include ${MK}/os.mk
|
||||
|
||||
LIB= rc
|
||||
SHLIB_MAJOR= 1
|
||||
@@ -11,9 +11,9 @@ VERSION_MAP= rc.map
|
||||
CFLAGS+= -DLIB=\"${LIBNAME}\"
|
||||
LDADD+= ${LIBKVM}
|
||||
|
||||
CFLAGS+= -I${TOPDIR}
|
||||
CFLAGS+= -I../includes
|
||||
|
||||
SHLIBDIR= /${LIBNAME}
|
||||
|
||||
include ${TOPDIR}/cc.mk
|
||||
include ${TOPDIR}/lib.mk
|
||||
include ${MK}/cc.mk
|
||||
include ${MK}/lib.mk
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
LIBTERMCAP?= -lncurses
|
||||
CFLAGS+= -DHAVE_TERMCAP
|
||||
LDADD+= ${LIBTERMCAP}
|
||||
24
src/os.mk
24
src/os.mk
@@ -1,24 +0,0 @@
|
||||
# Copyright 2008 Roy Marples
|
||||
|
||||
# Generic definitions
|
||||
|
||||
_OS_SH= u=`uname -s`; case "$${u}" in *BSD|DragonFly) echo "BSD";; *) echo "$${u}";; esac
|
||||
_OS!= ${_OS_SH}
|
||||
OS?= ${_OS}$(shell ${_OS_SH})
|
||||
|
||||
_LIBNAME_SH= l=`readlink /lib`; case "$$l" in /lib64|lib64) echo "lib64";; *) echo "lib";; esac
|
||||
_LIBNAME!= ${_LIBNAME_SH}
|
||||
LIBNAME?= ${_LIBNAME}$(shell ${_LIBNAME_SH})
|
||||
RC_LIB= /$(LIB)/rc
|
||||
|
||||
_DEF_SH= case `uname -s` in Linux) echo "-D_XOPEN_SOURCE=600 -D_BSD_SOURCE";; *) echo;; esac
|
||||
_DEF!= ${_DEF_SH}
|
||||
CFLAGS+= ${_DEF}$(shell ${_DEF_SH})
|
||||
|
||||
_LIBDL_SH= case `uname -s` in Linux) echo "-Wl,-Bdynamic -ldl";; *) echo;; esac
|
||||
_LIBDL!= ${_LIBDL_SH}
|
||||
LIBDL?= ${_LIBDL}$(shell ${_LIBDL_SH})
|
||||
|
||||
_LIBKVM_SH= case `uname -s` in *BSD) echo "-lkvm";; *) echo;; esac
|
||||
_LIBKVM!= ${_LIBKVM_SH}
|
||||
LIBKVM?= ${_LIBKVM}$(shell ${_LIBKVM_SH})
|
||||
@@ -1,6 +0,0 @@
|
||||
LIBPAM?= -lpam
|
||||
CFLAGS+= -DHAVE_PAM
|
||||
LDADD+= ${LIBPAM}
|
||||
|
||||
PAMDIR?= /etc/pam.d
|
||||
PAMMODE?= 0644
|
||||
19
src/prog.mk
19
src/prog.mk
@@ -1,19 +0,0 @@
|
||||
# rules to build a library
|
||||
# based on FreeBSD's bsd.prog.mk
|
||||
|
||||
# Copyright 2008 Roy Marples
|
||||
|
||||
BINDIR?= /sbin
|
||||
OBJS+= ${SRCS:.c=.o}
|
||||
|
||||
INSTALL?= install
|
||||
|
||||
all: depend ${PROG}
|
||||
|
||||
${PROG}: ${SCRIPTS} ${OBJS}
|
||||
${CC} ${CFLAGS} ${LDFLAGS} ${PROGLDFLAGS} -o $@ ${OBJS} ${LDADD}
|
||||
|
||||
clean:
|
||||
rm -f ${OBJS} ${PROG} ${CLEANFILES}
|
||||
|
||||
include ${TOPDIR}/depend.mk
|
||||
@@ -5,11 +5,9 @@ SRCS= checkpath.c fstabinfo.c mountinfo.c rc.c rc-depend.c \
|
||||
|
||||
CLEANFILES= version.h
|
||||
|
||||
TOPDIR= ..
|
||||
|
||||
LDFLAGS+= -L${TOPDIR}/librc -L${TOPDIR}/libeinfo
|
||||
LDFLAGS+= -L../librc -L../libeinfo
|
||||
LDADD+= -lutil -lrc -leinfo
|
||||
CFLAGS+= -I${TOPDIR} -I${TOPDIR}/librc -I${TOPDIR}/libeinfo
|
||||
CFLAGS+= -I../includes -I../librc -I../libeinfo
|
||||
|
||||
BINDIR?= /sbin
|
||||
|
||||
@@ -32,18 +30,19 @@ RC_SBINLINKS= mark_service_starting mark_service_started \
|
||||
mark_service_coldplugged mark_service_failed \
|
||||
rc-abort
|
||||
|
||||
include ${TOPDIR}/os.mk
|
||||
MK= ../../mk
|
||||
include ${MK}/os.mk
|
||||
CFLAGS+= -DLIB=\"${LIBNAME}\"
|
||||
include ${TOPDIR}/cc.mk
|
||||
include ${TOPDIR}/prog.mk
|
||||
include ${MK}/cc.mk
|
||||
include ${MK}/prog.mk
|
||||
|
||||
include ${TOPDIR}/${TERMCAP}.mk
|
||||
include ${MK}/${TERMCAP}.mk
|
||||
LDADD+= ${LIBDL} ${LIBKVM}
|
||||
include ${TOPDIR}/${PAM}.mk
|
||||
include ${MK}/${PAM}.mk
|
||||
|
||||
${SRCS}: version.h
|
||||
version.h:
|
||||
sed -n -e 's/^VERSION =[[:space:]]*\([^[:space:]]*\).*/#define VERSION "\1\"/p' ../../Makefile > version.h
|
||||
sed -n -e 's/^VERSION=[[:space:]]*\([^[:space:]]*\).*/#define VERSION "\1\"/p' ../../Makefile > version.h
|
||||
if test -n "${BRANDING}"; then \
|
||||
echo "#define BRANDING \"${BRANDING}\"" >> version.h; \
|
||||
fi
|
||||
@@ -54,7 +53,7 @@ install: all
|
||||
${INSTALL} -d ${DESTDIR}/bin
|
||||
for x in ${BINLINKS}; do ln -fs ${BINDIR}/${PROG} ${DESTDIR}/bin/$$x; done
|
||||
${INSTALL} -d ${DESTDIR}/bin
|
||||
for x in ${SBINLINKS}; do ln -fs ${BINDIR}/${PROG} ${DESTDIR}${BINDIR}/$$x; done
|
||||
for x in ${SBINLINKS}; do ln -fs ${PROG} ${DESTDIR}${BINDIR}/$$x; done
|
||||
${INSTALL} -d ${DESTDIR}/${LIBNAME}/${PROG}/bin
|
||||
for x in $(RC_BINLINKS); do ln -fs ${BINDIR}/${PROG} $(DESTDIR)/${LIBNAME}/${PROG}/bin/$$x; done
|
||||
${INSTALL} -d ${DESTDIR}/${LIBNAME}/${PROG}/sbin
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
LIBTERMCAP?= -ltermcap
|
||||
CFLAGS+= -DHAVE_TERMCAP
|
||||
LDADD+= ${LIBTERMCAP}
|
||||
Reference in New Issue
Block a user