--- embedaddon/sudo/plugins/system_group/Makefile.in 2012/05/29 12:26:49 1.1.1.1 +++ embedaddon/sudo/plugins/system_group/Makefile.in 2014/06/15 16:12:55 1.1.1.5 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011-2012 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@ @@ -44,8 +45,19 @@ 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@ @@ -56,7 +68,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)/system_group.exp +shlib_map = system_group.map +shlib_opt = system_group.opt # OS dependent defines DEFS = @OSDEFS@ @@ -79,11 +97,17 @@ 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) $< -system_group.la: $(OBJS) $(LT_LIBS) - $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(LTLDFLAGS) -o $@ $(OBJS) $(LIBS) -module -export-symbols $(srcdir)/system_group.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) > $@ + +system_group.la: $(OBJS) $(LT_LIBS) @LT_LDDEP@ + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(LT_LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -avoid-version -rpath $(plugindir) + pre-install: install: install-plugin @@ -98,11 +122,16 @@ install-includes: install-doc: install-plugin: install-dirs system_group.la - $(INSTALL) -b~ -m 0755 .libs/system_group$(soext) $(DESTDIR)$(plugindir) + if [ X"$(soext)" != X"" ]; then \ + $(INSTALL) -b~ -m $(shlib_mode) .libs/system_group$(soext) $(DESTDIR)$(plugindir)/system_group.so; \ + fi uninstall: - -rm -f $(DESTDIR)$(plugindir)/system_group$(soext) + -rm -f $(DESTDIR)$(plugindir)/system_group.so +cppcheck: + cppcheck $(CPPCHECK_OPTS) -I$(incdir) -I$(top_builddir) -I$(top_srcdir) $(srcdir)/*.c + check: clean: @@ -121,7 +150,8 @@ realclean: distclean cleandir: realclean # Autogenerated dependencies, do not modify -system_group.lo: $(srcdir)/system_group.c $(top_builddir)/config.h \ - $(top_srcdir)/compat/stdbool.h $(top_srcdir)/compat/dlfcn.h \ - $(incdir)/sudo_plugin.h $(incdir)/missing.h - $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/system_group.c +system_group.lo: $(srcdir)/system_group.c $(incdir)/missing.h \ + $(incdir)/sudo_dso.h $(incdir)/sudo_plugin.h \ + $(incdir)/sudo_util.h $(top_builddir)/config.h \ + $(top_srcdir)/compat/stdbool.h + $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/system_group.c