$ cat Makefile .PHONY: all clean install update ADNS = yes CXX = g++ CXXFLAGS = -g -DSBNC -fPIC CFLAGS = -g -O2 -DHAVE_CONFIG_H -fPIC LDFLAGS = adns/libadns.a OBJS = Connection.o Module.o Channel.o FloodControl.o ClientConnection.o utility.o Queue.o BouncerUser.o IRCConnection.o BouncerConfig.o BouncerCore.o sbnc.o IdentSupport.o BouncerLog.o Nick.o unix.o md5-c/md5c.o Match.o TrafficStats.o Keyring.o Banlist.o Timer.o FIFOBuffer.o MD5OBJS = md5util/md5util.o md5util/StdAfx.o md5-c/md5c.o MKCONFIGOBJS = mkconfig/mkconfig.o BouncerConfig.o md5-c/md5c.o DL_LIB = export DL_LIB export CFLAGS all : sbnc sbnc.so md5tool conftool md5tool : $(MD5OBJS) $(CXX) -o md5util/$@ $(MD5OBJS) $(LDFLAGS) @cp md5util/$@ md5tool sbnc.so : $(OBJS) adns/libadns.a g++ -g -shared -fPIC -o $@ $(OBJS) $(LDFLAGS) sbnc : $(MAKE) -C sbncloader @if [ -f sbnc ]; then rm sbnc; fi @cp sbncloader/sbncloader ./sbnc conftool : $(MKCONFIGOBJS) g++ -g -o mkconfig/$@ $(MKCONFIGOBJS) @cp mkconfig/$@ conftool clean : -rm $(OBJS) $(MD5OBJS) $(MAKE) -C sbncloader clean install : sbnc sbnc.so conftool md5tool @if [ ! -d ${HOME}/sbnc ]; then mkdir ${HOME}/sbnc; fi @cp sbnc ${HOME}/sbnc/sbnc @cp sbnc.so ${HOME}/sbnc/sbnc.so @cp -R scripts ${HOME}/sbnc @if [ ! -d ${HOME}/sbnc/users ]; then mkdir ${HOME}/sbnc/users; fi @cp users/example.conf ${HOME}/sbnc/users/example.conf @if [ ! -f ${HOME}/sbnc/sbnc.conf ]; then cp sbnc.conf ${HOME}/sbnc/sbnc.conf; fi @if [ ! -f ${HOME}/sbnc/sbnc.tcl ]; then cp sbnc.tcl ${HOME}/sbnc/sbnc.tcl; fi @if [ -f ${HOME}/sbnc/sbnc.ipc ]; then rm ${HOME}/sbnc/sbnc.ipc; fi @cp conftool ${HOME}/sbnc @cp md5tool ${HOME}/sbnc @cp README* ${HOME}/sbnc @echo "shroudBNC was installed in ${HOME}/sbnc. Please change to this directory before you proceed with editing your configuration files." update : sbnc.so @echo `date +%Y%m%d%H%M%S` > /tmp/ts.tag; @cp sbnc.so ${HOME}/sbnc/sbnc-`cat /tmp/ts.tag`.so @echo "${HOME}/sbnc/sbnc-`cat /tmp/ts.tag`.so" > ${HOME}/sbnc/sbnc.ipc @echo "Reloading shroudBNC..." @-kill -USR1 `cat ${HOME}/sbnc/sbnc.pid` @echo "New shroudBNC module was copied to ${HOME}/sbnc/sbnc-`cat /tmp/ts.tag`.so" @echo "You might need to update your TCL scripts manually." @-rm /tmp/ts.tag adns/libadns.a : ifeq ($(ADNS),yes) $(MAKE) -C adns endif $