mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
This patch which handles the build stuff is from Marcus Rueckert <darix@opensu.se>. git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@901 726aef4b-f618-498e-8847-2d620e286838
115 lines
2.3 KiB
Makefile
115 lines
2.3 KiB
Makefile
prefix := @prefix@
|
|
exec_prefix := @exec_prefix@
|
|
datarootdir := @datarootdir@
|
|
bindir := @bindir@
|
|
datadir := @datadir@
|
|
sysconfdir := @sysconfdir@
|
|
libdir := @libdir@
|
|
sbindir := @sbindir@
|
|
localstatedir := @localstatedir@
|
|
CXX := @CXX@
|
|
CXXFLAGS := @CXXFLAGS@
|
|
LDFLAGS := @LDFLAGS@
|
|
INCLUDES := @INCLUDES@ -I..
|
|
LIBS := @LIBS@
|
|
PERL := @PERL@
|
|
MODDIR := @MODDIR@
|
|
DATADIR := @DATADIR@
|
|
|
|
ifeq "@NOSSL@" "1"
|
|
FILES := $(foreach file, $(wildcard *.cpp), \
|
|
$(if $(shell grep REQUIRESSL $(file)), \
|
|
, \
|
|
$(basename $(file)) \
|
|
))
|
|
else
|
|
FILES := $(basename $(wildcard *.cpp))
|
|
endif
|
|
|
|
ifneq "$(PERL)" ""
|
|
PERLCC := -DHAVE_PERL `$(PERL) -MExtUtils::Embed -e perl_inc`
|
|
PERLLD := `$(PERL) -MExtUtils::Embed -e perl_inc -e ldopts`
|
|
PERLHOOK := modperl_install
|
|
else
|
|
PERLHOOK :=
|
|
FILES := $(shell echo $(FILES) | sed -e "s/modperl//")
|
|
endif
|
|
|
|
ifeq "@SASL@" ""
|
|
FILES := $(shell echo $(FILES) | sed -e "s/saslauth//")
|
|
endif
|
|
|
|
SRCS := $(wildcard ../*.cpp) $(addsuffix .cpp, $(FILES))
|
|
OBJS := $(addsuffix .o, $(FILES))
|
|
TARGETS := $(addsuffix .so, $(FILES))
|
|
|
|
CLEAN := *.so *.o
|
|
|
|
.PHONY: all clean install depend modperl_install
|
|
|
|
all: $(OBJS) $(TARGETS)
|
|
|
|
.depend:
|
|
$(CXX) -MM $(CXXFLAGS) $(SRCS) $(INCLUDES) $(PERLCC) >.depend
|
|
|
|
depend: .depend
|
|
|
|
install: all create_install_dir install_metadirs $(PERLHOOK)
|
|
install -m 0755 $(TARGETS) $(DESTDIR)$(MODDIR)
|
|
|
|
create_install_dir:
|
|
mkdir -p $(DESTDIR)$(MODDIR)
|
|
mkdir -p $(DESTDIR)$(DATADIR)
|
|
rm -rf $(DESTDIR)$(MODDIR)/*.so
|
|
|
|
install_metadirs: create_install_dir
|
|
for a in *; do \
|
|
if [ -d $$a ] && [ -f $${a}.so ]; then \
|
|
cp -Rp $$a $(DESTDIR)$(DATADIR); \
|
|
fi \
|
|
done
|
|
|
|
clean:
|
|
rm -rf $(CLEAN)
|
|
|
|
%.so: %.o
|
|
$(CXX) $(LDFLAGS) -shared -o $@ $<
|
|
|
|
.cpp.o:
|
|
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
|
|
|
|
ifneq "$(PERL)" ""
|
|
modperl.so: modperl.o
|
|
$(CXX) $(LDFLAGS) -shared -o $@ $< $(PERLLD)
|
|
|
|
modperl.o: modperl.cpp
|
|
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $< $(PERLCC)
|
|
|
|
modperl_install: create_install_dir
|
|
for i in *.pm; do \
|
|
install -m 0755 $$i $(DESTDIR)$(MODDIR); \
|
|
done
|
|
else
|
|
modperl.so:
|
|
@echo -n ""
|
|
modperl.o:
|
|
@echo -n ""
|
|
modperl_install:
|
|
@echo -n ""
|
|
endif
|
|
|
|
ifeq "@SASL@" "1"
|
|
saslauth.so: saslauth.o
|
|
$(CXX) $(LDFLAGS) -shared -o $@ $< -lsasl2
|
|
|
|
saslauth.o: saslauth.cpp
|
|
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
|
|
else
|
|
saslauth.so:
|
|
@echo -n ""
|
|
saslauth.o:
|
|
@echo -n ""
|
|
endif
|
|
|
|
-include .depend
|