--- embedaddon/sudo/plugins/sample/Makefile.in 2012/02/21 16:23:02 1.1.1.1 +++ embedaddon/sudo/plugins/sample/Makefile.in 2014/06/15 16:12:54 1.1.1.6 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011 Todd C. Miller +# Copyright (c) 2011-2014 Todd C. Miller # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -24,6 +24,7 @@ devdir = @devdir@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ incdir = $(top_srcdir)/include +cross_compiling = @CROSS_COMPILING@ # Compiler & tools to use CC = @CC@ @@ -36,15 +37,26 @@ INSTALL = $(SHELL) $(top_srcdir)/install-sh -c LIBS = $(LIBOBJDIR)/libreplace.la # C preprocessor flags -CPPFLAGS = -I$(incdir) -I$(top_builddir) @CPPFLAGS@ +CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(top_srcdir) @CPPFLAGS@ # Usually -O and/or -g CFLAGS = @CFLAGS@ # Flags to pass to the link stage LDFLAGS = @LDFLAGS@ -LTLDFLAGS = @LTLDFLAGS@ +LT_LDFLAGS = @LT_LDFLAGS@ @LT_LDMAP@ @LT_LDOPT@ @LT_LDEXPORTS@ +# PIE flags +PIE_CFLAGS = @PIE_CFLAGS@ +PIE_LDFLAGS = @PIE_LDFLAGS@ + +# Stack smashing protection flags +SSP_CFLAGS = @SSP_CFLAGS@ +SSP_LDFLAGS = @SSP_LDFLAGS@ + +# cppcheck options, usually set in the top-level Makefile +CPPCHECK_OPTS = -q --force --enable=warning,performance,portability --suppress=constStatement --error-exitcode=1 --inline-suppr -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX + # Where to install things... prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -55,7 +67,13 @@ libexecdir = @libexecdir@ datarootdir = @datarootdir@ localstatedir = @localstatedir@ plugindir = @PLUGINDIR@ + +# File extension, mode and map file to use for shared libraries/objects soext = @SOEXT@ +shlib_mode = @SHLIB_MODE@ +shlib_exp = $(srcdir)/sample_plugin.exp +shlib_map = sample_plugin.map +shlib_opt = sample_plugin.opt # OS dependent defines DEFS = @OSDEFS@ @@ -78,14 +96,20 @@ Makefile: $(srcdir)/Makefile.in .SUFFIXES: .o .c .h .lo .c.lo: - $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $< + $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $< -sample_plugin.la: $(OBJS) - $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(LTLDFLAGS) -o $@ $(OBJS) $(LIBS) -module -export-symbols $(srcdir)/sample_plugin.sym -avoid-version -rpath $(plugindir) +$(shlib_map): $(shlib_exp) + @awk 'BEGIN { print "{\n\tglobal:" } { print "\t\t"$$0";" } END { print "\tlocal:\n\t\t*;\n};" }' $(shlib_exp) > $@ +$(shlib_opt): $(shlib_exp) + @sed 's/^/+e /' $(shlib_exp) > $@ + +sample_plugin.la: $(OBJS) @LT_LDDEP@ + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) + pre-install: -install: install-dirs install-plugin +install: install-plugin install-dirs: $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(plugindir) @@ -97,11 +121,16 @@ install-includes: install-doc: install-plugin: install-dirs sample_plugin.la - $(INSTALL) -b~ -M 0755 .libs/sample_plugin$(soext) $(DESTDIR)$(plugindir) + if [ X"$(soext)" != X"" ]; then \ + $(INSTALL) -b~ -m $(shlib_mode) .libs/sample_plugin$(soext) $(DESTDIR)$(plugindir)/sample_plugin.so; \ + fi uninstall: - -rm -f $(DESTDIR)$(plugindir)/sample_plugin$(soext) + -rm -f $(DESTDIR)$(plugindir)/sample_plugin.so +cppcheck: + cppcheck $(CPPCHECK_OPTS) -I$(incdir) -I$(top_builddir) -I$(top_srcdir) $(srcdir)/*.c + check: clean: @@ -120,7 +149,8 @@ realclean: distclean cleandir: realclean # Autogenerated dependencies, do not modify -sample_plugin.lo: $(srcdir)/sample_plugin.c $(top_builddir)/config.h \ - $(top_builddir)/pathnames.h $(incdir)/sudo_plugin.h \ - $(incdir)/missing.h - $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/sample_plugin.c +sample_plugin.lo: $(srcdir)/sample_plugin.c $(incdir)/missing.h \ + $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \ + $(top_builddir)/config.h $(top_builddir)/pathnames.h \ + $(top_srcdir)/compat/stdbool.h + $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sample_plugin.c