c74836dc4a
Add two mechanism for avoiding name-collisions in a system-wide installation of charybdis. The ssld and bandb daemons, intended to be directly used by ircd and not the user, install into libexec when --enable-fhs-paths is set. For binaries which are meant to be in PATH (bindir), such as ircd and viconf, there is now an option --with-program-prefix=progprefix inspired by automake. If the user specifies --with-program-prefix=charybdis, the ircd binary is named charybdisircd when installed. Add support for saving the pidfile to a rundir and storing the ban database in localstatedir instead of in sysconfdir. This is, again, conditional on --enable-fhs-paths. Fix(?) genssl.sh to always write created SSL key/certificate/dh parameters to the sysconfdir specified during ./configure. The previous behavior was to assume that the user ran genssl.sh after ensuring that his current working directory was either sysconfdir or a sibling directory of sysconfdir.
162 lines
4.5 KiB
Makefile
162 lines
4.5 KiB
Makefile
#************************************************************************
|
|
#* IRC - Internet Relay Chat, Makefile
|
|
#* Copyright (C) 1990, Jarkko Oikarinen
|
|
#*
|
|
#* This program is free software; you can redistribute it and/or modify
|
|
#* it under the terms of the GNU General Public License as published by
|
|
#* the Free Software Foundation; either version 1, or (at your option)
|
|
#* any later version.
|
|
#*
|
|
#* This program is distributed in the hope that it will be useful,
|
|
#* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
#* GNU General Public License for more details.
|
|
#*
|
|
#* You should have received a copy of the GNU General Public License
|
|
#* along with this program; if not, write to the Free Software
|
|
#* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
#*
|
|
#* $Id: Makefile.in 1347 2006-05-17 14:49:13Z nenolod $
|
|
#*/
|
|
|
|
RM=@RM@
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
mandir = @mandir@
|
|
libdir = @libdir@
|
|
pkglibdir = @pkglibdir@
|
|
moduledir = @moduledir@
|
|
helpdir = @helpdir@
|
|
confdir = @confdir@
|
|
logdir = @logdir@
|
|
rundir = @rundir@
|
|
pkgrundir = @pkgrundir@
|
|
localstatedir = @localstatedir@
|
|
pkglocalstatedir= @pkglocalstatedir@
|
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
|
|
# Default CFLAGS
|
|
# CFLAGS = -g -O2 -DNDEBUG
|
|
CFLAGS = @CFLAGS@
|
|
# Developers CFLAGS
|
|
#CFLAGS= -g -O2 -Wunused -Wall -ggdb -pedantic -Wshadow -Wmissing-declarations
|
|
|
|
# Default make flags - you may want to uncomment this on a multicpu machine
|
|
#MFLAGS = -j 4
|
|
|
|
#
|
|
# For developers
|
|
#CFLAGS= -g -O2 -Wall
|
|
|
|
# You may need to define the FD_SETSIZE in order to overrule
|
|
# the system one.
|
|
#CFLAGS= -DNDEBUG -g -O2 -D"FD_SETSIZE=1024"
|
|
SHELL=/bin/sh
|
|
# `extensions' must be after `modules' for proper creation of $(moduledir).
|
|
SUBDIRS=libratbox modules extensions src tools ssld bandb doc help
|
|
CLEANDIRS = ${SUBDIRS}
|
|
RSA_FILES=rsa_respond/README rsa_respond/respond.c rsa_respond/Makefile
|
|
|
|
all: build
|
|
|
|
|
|
autoconf: configure.ac
|
|
autoconf
|
|
autoheader
|
|
${RM} -f config.cache
|
|
|
|
build:
|
|
-@if [ ! -f include/setup.h ] ; then \
|
|
echo "Hmm...doesn't look like you've run configure..."; \
|
|
echo "Doing so now."; \
|
|
sh configure; \
|
|
fi
|
|
@if [ -d .git ] ; then \
|
|
revh=`git log -1 --date=short --pretty=format:%cd_%h 2>/dev/null | sed -e s/-//g -e s/_/-/`;\
|
|
[ -z "$$revh" ] || echo '#define SERNO "'$$revh'"' >include/serno.h ; \
|
|
elif [ -d .hg ] ; then \
|
|
revh=`hg parents --template '{date|shortdate}_{node|short}' 2>/dev/null | sed -e s/-//g -e s/_/-/`;\
|
|
[ -z "$$revh" ] || echo '#define SERNO "'$$revh'"' >include/serno.h ; \
|
|
fi
|
|
@[ -f include/serno.h ] || echo '#define SERNO "unknown"' >include/serno.h
|
|
@for i in $(SUBDIRS); do \
|
|
echo "build ==> $$i";\
|
|
cd $$i;\
|
|
${MAKE} || exit; cd ..;\
|
|
done
|
|
|
|
clean:
|
|
${RM} -f *~ core rsa_respond.tar rsa_respond.tar.gz
|
|
@for i in $(CLEANDIRS); do \
|
|
echo "clean ==> $$i";\
|
|
cd $$i;\
|
|
${MAKE} clean; cd ..;\
|
|
done
|
|
-@if [ -f include/setup.h ] ; then \
|
|
echo "To really restart installation, make distclean" ; \
|
|
fi
|
|
|
|
distclean:
|
|
${RM} -f Makefile *~ *.rej *.orig core ircd.core
|
|
${RM} -f config.status config.cache config.log
|
|
cd include; ${RM} -f setup.h *~ *.rej *.orig ; cd ..
|
|
@for i in $(CLEANDIRS); do \
|
|
echo "distclean ==> $$i";\
|
|
cd $$i;\
|
|
${MAKE} distclean; cd ..;\
|
|
done
|
|
|
|
depend:
|
|
@[ -f include/serno.h ] || echo '#define SERNO "unknown"' >include/serno.h
|
|
@for i in $(SUBDIRS); do \
|
|
echo "depend ==> $$i";\
|
|
cd $$i;\
|
|
${MAKE} depend; cd ..;\
|
|
done
|
|
|
|
lint:
|
|
@for i in $(SUBDIRS); do \
|
|
echo "lint ==> $$i";\
|
|
cd $$i;\
|
|
${MAKE} lint; cd ..;\
|
|
done
|
|
|
|
install-mkdirs:
|
|
@echo "ircd: setting up ircd directory structure"
|
|
-@if test ! -d $(DESTDIR)$(prefix); then \
|
|
mkdir -p -m 755 $(DESTDIR)$(prefix); \
|
|
fi
|
|
-@if test ! -d $(DESTDIR)$(bindir); then \
|
|
mkdir -p -m 755 $(DESTDIR)$(bindir); \
|
|
fi
|
|
-@if test ! -d $(DESTDIR)$(confdir); then \
|
|
mkdir -p -m 755 $(DESTDIR)$(confdir); \
|
|
fi
|
|
-@if test ! -d $(DESTDIR)$(mandir); then \
|
|
mkdir -p -m 755 $(DESTDIR)$(mandir); \
|
|
fi
|
|
-@if test ! -d $(DESTDIR)$(logdir); then \
|
|
mkdir -p -m 755 $(DESTDIR)$(logdir); \
|
|
fi
|
|
-@if test ! -d '$(DESTDIR)$(pkgrundir)'; then \
|
|
mkdir -p -m 755 '$(DESTDIR)$(pkgrundir)'; \
|
|
fi
|
|
-@if test ! -d '$(DESTDIR)$(pkglocalstatedir)'; then \
|
|
mkdir -p -m 755 '$(DESTDIR)$(pkglocalstatedir)'; \
|
|
fi
|
|
|
|
install: install-mkdirs all
|
|
@for i in $(SUBDIRS); do \
|
|
echo "install ==> $$i";\
|
|
cd $$i;\
|
|
${MAKE} install; \
|
|
cd ..; \
|
|
done
|
|
|
|
rsa_respond:
|
|
@cd tools;\
|
|
echo "Creating rsa_respond.tar.gz";\
|
|
tar cf ../rsa_respond.tar $(RSA_FILES);\
|
|
cd ..;\
|
|
gzip rsa_respond.tar
|