r25851: Move system-specific ldflags checks to libreplace so they can be used by...
[martins/samba.git] / source4 / lib / ldb / Makefile.in
index eff58e4d526871f3d9de7e5b873bf739dfc6ed90..fd0caa4a5c1b133c1bef78bd8e9e5be3a55a20ab 100644 (file)
@@ -34,8 +34,10 @@ LDAP_LIBS = @LDAP_LIBS@
 
 SHLIBEXT = @SHLIBEXT@
 
-LD_EXPORT_DYNAMIC = -Wl,--export-dynamic
+LD_EXPORT_DYNAMIC = @LD_EXPORT_DYNAMIC@
+SHLD_FLAGS = @SHLD_FLAGS@
 
+PICFLAG = @PICFLAG@
 CFLAGS=-g -I$(srcdir)/include -Iinclude -I$(srcdir) -I$(srcdir)/.. \
        $(POPT_CFLAGS) $(TALLOC_CFLAGS) $(TDB_CFLAGS) \
        -DLIBDIR=\"$(libdir)\" -DSHLIBEXT=\"$(SHLIBEXT)\" -DUSE_MMAP=1 @CFLAGS@
@@ -98,6 +100,11 @@ showflags:
        @mkdir -p `dirname $@`
        @$(CC) $(CFLAGS) -c $< -o $@
 
+.c.po:
+       @echo Compiling $*.c
+       @mkdir -p `dirname $@`
+       @$(CC) $(CFLAGS) $(PICFLAG) -c $< -o $@
+
 dirs:
        @mkdir -p $(DIRS)
 
@@ -106,10 +113,10 @@ lib/libldb.a: $(OBJS)
        @-ranlib $@
 
 lib/libnss_ldb.so.2: $(NSS_OBJ) $(LIBS) bin/libldb.a
-       $(CC) -shared -Wl,-soname,libnss_ldb.so.2 -o lib/libnss_ldb.so.2 $(NSS_OBJ) $(OBJS) $(LIB_FLAGS)
+       $(CC) $(SHLD_FLAGS) -Wl,-soname,libnss_ldb.so.2 -o lib/libnss_ldb.so.2 $(NSS_OBJ) $(OBJS) $(LIB_FLAGS)
 
-sample_module.$(SHLIBEXT): tests/sample_module.o 
-       $(CC) -shared -o $@ tests/sample_module.
+sample_module.$(SHLIBEXT): tests/sample_module.p
+       $(CC) $(SHLD_FLAGS) -o $@ tests/sample_module.p
 
 bin/ldbadd: tools/ldbadd.o tools/cmdline.o $(LIBS)
        $(CC) -o bin/ldbadd tools/ldbadd.o tools/cmdline.o $(LIB_FLAGS) $(LD_EXPORT_DYNAMIC)
@@ -141,7 +148,7 @@ examples/ldbreader: examples/ldbreader.o $(LIBS)
 examples/ldifreader: examples/ldifreader.o $(LIBS)
        $(CC) -o examples/ldifreader examples/ldifreader.o $(LIB_FLAGS)
 
-.SUFFIXES: .1 .1.xml .3 .3.xml .xml .html
+.SUFFIXES: .1 .1.xml .3 .3.xml .xml .html .po
 
 manpages:
        @$(srcdir)/docs/builddocs.sh "$(XSLTPROC)" "$(srcdir)"
@@ -167,12 +174,12 @@ distclean: clean
 realdistclean: distclean
        rm -f configure.in include/config.h.in
 
-check:: test
+check:: test check-soloading
 
 check-soloading: sample_module.$(SHLIBEXT)
        LDB_MODULES_PATH=$(builddir) $(srcdir)/tests/test-soloading.sh
 
-test: all
+test: all check-soloading
        for t in $(TESTS); do echo STARTING $${t}; $(srcdir)/tests/$${t} || exit 1; done
 
 valgrindtest: all