--- embedaddon/sudo/plugins/sample/Makefile.in 2012/05/29 12:26:49 1.1.1.2 +++ embedaddon/sudo/plugins/sample/Makefile.in 2013/07/22 10:46:12 1.1.1.4 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011 Todd C. Miller +# Copyright (c) 2011-2013 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@ @@ -43,8 +44,16 @@ 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@ + # Where to install things... prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -55,7 +64,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,11 +93,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) $< -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-plugin @@ -97,10 +118,10 @@ install-includes: install-doc: install-plugin: install-dirs sample_plugin.la - $(INSTALL) -b~ -m 0755 .libs/sample_plugin$(soext) $(DESTDIR)$(plugindir) + $(INSTALL) -b~ -m $(shlib_mode) .libs/sample_plugin$(soext) $(DESTDIR)$(plugindir)/sample_plugin.so uninstall: - -rm -f $(DESTDIR)$(plugindir)/sample_plugin$(soext) + -rm -f $(DESTDIR)$(plugindir)/sample_plugin.so check: @@ -123,4 +144,4 @@ cleandir: realclean sample_plugin.lo: $(srcdir)/sample_plugin.c $(top_builddir)/config.h \ $(top_srcdir)/compat/stdbool.h $(top_builddir)/pathnames.h \ $(incdir)/sudo_plugin.h $(incdir)/missing.h - $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/sample_plugin.c + $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sample_plugin.c