Skip to content
Snippets Groups Projects
lib.mk 2.17 KiB
Newer Older
Marek Vavruša's avatar
Marek Vavruša committed
	lib/layer/iterate.c    \
	lib/layer/validate.c   \
	lib/layer/rrcache.c    \
Marek Vavruša's avatar
Marek Vavruša committed
	lib/resolve.c          \
	lib/zonecut.c          \
	lib/rplan.c            \
	lib/cache.c

	lib/generic/map.h      \
	lib/generic/set.h      \
Marek Vavruša's avatar
Marek Vavruša committed
	lib/layer.h            \
Marek Vavruša's avatar
Marek Vavruša committed
	lib/resolve.h          \
	lib/zonecut.h          \
	lib/rplan.h            \
	lib/cache.h
# Use built-in LMDB if not found
ifneq ($(HAS_lmdb), yes)
libkres_SOURCES := $(libkres_SOURCES) \
                   contrib/lmdb/mdb.c \
                   contrib/lmdb/midl.c
lmdb_CFLAGS  := -Icontrib/lmdb
lmdb_LIBS    :=
endif
Marek Vavruša's avatar
Marek Vavruša committed

# Dependencies
libkres_DEPEND := $(contrib)
libkres_CFLAGS := -fvisibility=hidden -fPIC $(lmdb_CFLAGS)
libkres_LIBS := $(contrib_TARGET) $(libknot_LIBS) $(libdnssec_LIBS) $(lmdb_LIBS)
libkres_TARGET := -L$(abspath lib) -lkres
Marek Vavruša's avatar
Marek Vavruša committed

# Make library
$(eval $(call make_static,libkres,lib,yes))
else
$(eval $(call make_lib,libkres,lib,yes,$(ABIVER)))
endif

# Generate pkg-config file
libkres.pc:
	@echo 'prefix='$(PREFIX) > $@
	@echo 'exec_prefix=$${prefix}' >> $@
	@echo 'libdir='$(LIBDIR) >> $@
	@echo 'includedir='$(INCLUDEDIR) >> $@
	@echo 'Name: libkres' >> $@
	@echo 'Description: Knot DNS Resolver library' >> $@
	@echo 'URL: https://www.knot-dns.cz' >> $@
	@echo 'Version: $(MAJOR).$(MINOR).$(PATCH)' >> $@
	@echo 'Libs: -L$${libdir} -lkres' >> $@
	@echo 'Cflags: -I$${includedir}' >> $@
libkres-pcinstall: libkres.pc libkres-install
Marek Vavruša's avatar
Marek Vavruša committed
	$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/pkgconfig/
	$(INSTALL)    -m 644 $< $(DESTDIR)$(LIBDIR)/pkgconfig/
lib-install: libkres-install libkres-pcinstall
.PHONY: lib lib-install lib-clean libkres.pc