generate and install oping.pc file, for pkg-config oping
[liboping.git] / src / Makefile.am
index 4dc11f9..7278c68 100644 (file)
@@ -21,17 +21,64 @@ lib_LTLIBRARIES = liboping.la
 #   set age to 0. 
 #
 # <http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html>
-liboping_la_LDFLAGS = -version-info 1:0:1
+liboping_la_SOURCES = oping.h liboping.c
+
+liboping_la_CPPFLAGS = $(AM_CPPFLAGS)
+liboping_la_LDFLAGS = $(AM_LDFLAGS) -version-info @LIBOPING_CURRENT@:@LIBOPING_REVISION@:@LIBOPING_AGE@
+liboping_la_LIBADD =
 if BUILD_WITH_LIBSOCKET
-liboping_la_LDFLAGS += -lsocket
+liboping_la_LIBADD += -lsocket
 endif
-liboping_la_SOURCES = oping.h liboping.c
+if BUILD_WITH_LIBXNET
+liboping_la_LIBADD += -lxnet
+endif
+
+oping.pc:
+       echo 'prefix=$(prefix)'                 >  $@
+       echo 'exec_prefix=$(exec_prefix)'       >> $@
+       echo 'includedir=$(includedir)'         >> $@
+       echo 'libdir=$(libdir)'                 >> $@
+       echo                                    >> $@
+       echo 'Name: $(PACKAGE_TARNAME)'         >> $@
+       echo 'Description: $(PACKAGE_NAME)'     >> $@
+       echo 'URL: $(PACKAGE_URL)'              >> $@
+       echo 'Version: $(PACKAGE_VERSION)'      >> $@
+       echo 'Cflags: -I${includedir}'          >> $@
+       echo 'Libs: -L${libdir} -loping'        >> $@
+       echo 'Libs.private: $(AM_LDFLAGS) $(LIBS) $(liboping_la_LIBADD)'        >> $@
+
+pkgconfig_DATA = oping.pc
+
+MOSTLYCLEANFILES = $(pkgconfig_DATA)
 
 bin_PROGRAMS = oping
 
 oping_SOURCES = oping.c
-oping_LDADD = liboping.la
-oping_LDFLAGS = -lm
+oping_LDADD = liboping.la -lm
+if BUILD_WITH_LIBRT
+oping_LDADD += -lrt
+endif
+
+if BUILD_WITH_LIBNCURSES
+bin_PROGRAMS += noping
+
+noping_SOURCES = oping.c
+noping_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_NCURSES=1
+noping_LDADD = liboping.la -lm -lncurses
 if BUILD_WITH_LIBRT
-oping_LDFLAGS += -lrt
+noping_LDADD += -lrt
 endif
+endif # BUILD_WITH_LIBNCURSES
+
+install-exec-hook:
+       @if test "x0" = "x$$UID"; then \
+               if test "xLinux" = "x`uname -s`"; then \
+                       echo "Setting CAP_NET_RAW capability on binaries."; \
+                       setcap cap_net_raw=ep $(DESTDIR)$(bindir)/oping || true; \
+                       setcap cap_net_raw=ep $(DESTDIR)$(bindir)/noping || true; \
+               else \
+                       echo "Setting set-UID bit on binaries."; \
+                       chmod u+s $(DESTDIR)$(bindir)/oping || true; \
+                       chmod u+s $(DESTDIR)$(bindir)/noping || true; \
+               fi; \
+       fi