Files
znc/modules/Makefile.in
T
Alexey Sokolov 946ff52dad Change the order of -I directives in Makefile.
If ZNC was already installed, it had its headers somewhere.
The chances are that something else can be installed at the same place,
including some ZNC's dependency	whose include dir would be included to
CXXFLAGS. Another possibility of including that dir is triggered when
using FreeBSD - ./configure explicitly adds -I/usr/local/include in that
case.

And so we get a directory with old ZNC headers included to CXXFLAGS
before our new shiny ./include.

With their order changed, the proper headers are included now.

Thanks to those who repored the issue, thanks to PsWii60 for helping to
track it down, thanks to my parents for creating me and therefore
enabling me to fix it, and to many other people.

Conflicts:

	Makefile.in
	modules/Makefile.in
2012-01-01 14:48:58 +01:00

131 lines
3.1 KiB
Makefile

all:
SHELL := @SHELL@
# Support out-of-tree builds
srcdir := @srcdir@
VPATH := @srcdir@
prefix := @prefix@
exec_prefix := @exec_prefix@
datarootdir := @datarootdir@
bindir := @bindir@
datadir := @datadir@
sysconfdir := @sysconfdir@
libdir := @libdir@
sbindir := @sbindir@
localstatedir := @localstatedir@
CXX := @CXX@
# CXXFLAGS are for the main binary, so don't use them here, use MODFLAGS instead
MODFLAGS := -I$(srcdir)/.. -I.. @CPPFLAGS@ @MODFLAGS@
MODLINK := @MODLINK@
LDFLAGS := @LDFLAGS@
# LIBS are not and should not be used in here.
# The znc binary links already against those.
# LIBS := @LIBS@
PERL_ON := @PERL@
PERL := @PERL_BINARY@
PYTHON_ON:= @PYTHON@
PY_CFLAGS:= @python_CFLAGS@
PY_LDFLAGS:=@python_LIBS@
SWIG := @SWIG@
SWIG_ON := @USESWIG@
MODDIR := @MODDIR@
DATADIR := @DATADIR@
LIBZNC := @LIBZNC@
LIBZNCDIR:= @LIBZNCDIR@
INSTALL := @INSTALL@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_SCRIPT := @INSTALL_SCRIPT@
INSTALL_DATA := @INSTALL_DATA@
TCL_FLAGS:= @TCL_FLAGS@
ifneq "$(V)" ""
VERBOSE=1
endif
ifeq "$(VERBOSE)" ""
Q=@
E=@echo
else
Q=
E=@\#
endif
ifneq "$(LIBZNC)" ""
LDFLAGS += -L.. -lznc -Wl,-rpath,$(LIBZNCDIR)
endif
CLEAN :=
FILES := $(notdir $(wildcard $(srcdir)/*.cpp))
# If extra is enabled
ifeq "@EXTRA@" "yes"
FILES += $(addprefix extra/, $(notdir $(wildcard $(srcdir)/extra/*.cpp)))
endif
include $(srcdir)/modperl/Makefile.inc
include $(srcdir)/modpython/Makefile.inc
include $(srcdir)/modtcl/Makefile.inc
FILES := $(basename $(FILES))
ifeq "@NOSSL@" "1"
FILES := $(foreach file, $(FILES), \
$(if $(shell grep REQUIRESSL $(srcdir)/$(file).cpp), \
, \
$(basename $(file)) \
))
endif
ifeq "@SASL@" ""
FILES := $(shell echo $(FILES) | sed -e "s:extra/saslauth::")
endif
saslauthFLAGS := -lsasl2
ifeq "@CHARSET@" ""
FILES := $(shell echo $(FILES) | sed -e "s:extra/charset::")
endif
charsetFLAGS := @LIBICONV@
TARGETS := $(addsuffix .so, $(FILES))
CLEAN += *.so extra/*.so
.PHONY: all clean install install_datadir uninstall
all: $(TARGETS)
install: all install_datadir
$(INSTALL_PROGRAM) $(TARGETS) $(DESTDIR)$(MODDIR)
install_datadir:
rm -rf $(DESTDIR)$(DATADIR)/modules
test -d $(DESTDIR)$(MODDIR) || $(INSTALL) -d $(DESTDIR)$(MODDIR)
test -d $(DESTDIR)$(DATADIR)/modules || $(INSTALL) -d $(DESTDIR)$(DATADIR)/modules
rm -rf $(DESTDIR)$(MODDIR)/*.so
cp -R $(srcdir)/data/* $(DESTDIR)$(DATADIR)/modules
if test "@EXTRA@" = "yes" ; then \
cp -R $(srcdir)/extra/data/* $(DESTDIR)$(DATADIR)/modules ; \
fi
find $(DESTDIR)$(DATADIR)/modules -type d -exec chmod 0755 '{}' \;
find $(DESTDIR)$(DATADIR)/modules -type f -exec chmod 0644 '{}' \;
clean:
rm -rf $(CLEAN)
%.so: %.cpp Makefile
@mkdir -p .depend
@mkdir -p extra
$(E) Building $(if $(filter %extra/,$(dir $<)),extra )module $(notdir $(basename $@))...
$(Q)$(CXX) $(MODFLAGS) $(LDFLAGS) $(MODLINK) -o $@ $< $($(notdir $(basename $@))FLAGS) -MMD -MF .depend/$(notdir $@).dep
uninstall:
# Yes, we are lazy, just remove everything in there
rm -rf $(DESTDIR)$(MODDIR)/*
rm -rf $(DESTDIR)$(DATADIR)/*
rmdir $(DESTDIR)$(MODDIR)
rmdir $(DESTDIR)$(DATADIR)
-include $(wildcard .depend/*.dep)