0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-11 08:02:59 +01:00
construct/include/ircd/Makefile.am

108 lines
2.4 KiB
Makefile

AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS =#
AM_CPPFLAGS += -I$(top_srcdir)/include
AM_CXXFLAGS =#
AM_CXXFLAGS += -x c++-header
if CLANG11
AM_CXXFLAGS += -fpch-instantiate-templates
endif
if GCC
if LOWMEM_COMPILE
LOWMEM_FLAGS= --param ggc-min-expand=1
endif
endif
CPPFLAGS += $(EXTRA_CPPFLAGS)
CXXFLAGS += $(EXTRA_CXXFLAGS)
# includedir = @includedir@/$(PACKAGE_TARNAME)
includedir = @includedir@/ircd
nobase_include_HEADERS = $(DEPS)
if BUILD_PCH # --- Actions when Precompiled headers enabled
noinst_HEADERS = *.gch
BUILT_SOURCES = \
ircd.h.gch \
ircd.pic.h.gch \
spirit.h.gch \
asio.h.gch \
matrix.h.gch \
matrix.pic.h.gch \
###
ircd.h.gch: ircd.h
$(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) -o ircd.h.gch $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) ircd.h
ircd.pic.h.gch: ircd.h
cp ircd.h ircd.pic.h
$(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) -fPIC -o ircd.pic.h.gch $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) -DPIC ircd.pic.h
matrix.h.gch: ircd.h matrix.h m/*.h m/*/*.h
$(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) -o matrix.h.gch $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) matrix.h
matrix.pic.h.gch: ircd.h matrix.h m/*.h m/*/*.h
cp matrix.h matrix.pic.h
$(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) -fPIC -o matrix.pic.h.gch $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) -DPIC matrix.pic.h
spirit.h.gch: ircd.h spirit.h spirit/*.h
$(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) -fPIC -o spirit.h.gch $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) -DPIC spirit.h
spirit.h.gch: \
AM_CXXFLAGS += @BOOST_CPPFLAGS@ $(LOWMEM_FLAGS)
asio.h.gch: ircd.h asio.h net/asio.h ctx/continuation.h
$(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) -fPIC -o asio.h.gch $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) -DPIC asio.h
asio.h.gch: \
AM_CPPFLAGS += @BOOST_CPPFLAGS@ @SSL_CPPFLAGS@ @CRYPTO_CPPFLAGS@
else # --- Actions without Precompiled Headers enabled
BUILT_SOURCES = \
ircd.pic.h \
matrix.pic.h \
###
ircd.pic.h: ircd.h
cp ircd.h ircd.pic.h
matrix.pic.h: matrix.h
cp matrix.h matrix.pic.h
endif # --- /BUILD_PCH
#
# Clean / Install
#
clean-local:
rm -f *.h.gch
rm -f *.gch.tmp
rm -f ircd.pic.h
rm -f matrix.pic.h
install-mkdirs: $(DEPS) $(BUILT_SOURCES)
-@if test ! -d $(DESTDIR)$(includedir); then \
echo "mkdir -p $(DESTDIR)$(includedir)"; \
mkdir -p $(DESTDIR)$(includedir); \
fi
install: install-mkdirs
@echo "ircd: installing headers"
@for i in $(srcdir)/*; do \
case "$$i" in \
"./Makefile"*) \
;; \
*".h.gch") \
;; \
*) \
echo "installing $$i to $(DESTDIR)$(includedir)"; \
cp -u -r $$i $(DESTDIR)$(includedir); \
;; \
esac \
done