SAMBA_SOURCE = @SAMBA_SOURCE@
SHLIBEXT = @SHLIBEXT@
OBJEXT = @OBJEXT@
-FLAGS = $(CFLAGS) -Iinclude -I$(SAMBA_SOURCE)/include -I$(SAMBA_SOURCE)/popt -I$(SAMBA_SOURCE)/smbwrapper -I. $(CPPFLAGS) -I$(SAMBA_SOURCE) -fPIC
+FLAGS = $(CFLAGS) $(CPPFLAGS) -fPIC \
+ -Iinclude -I$(SAMBA_SOURCE)/include \
+ -I$(SAMBA_SOURCE)/include/autoconf \
+ -I$(SAMBA_SOURCE)/autoconf \
+ -I$(SAMBA_SOURCE)/../popt \
+ -I$(SAMBA_SOURCE)/../lib/replace \
+ -I$(SAMBA_SOURCE)/../lib/talloc \
+ -I$(SAMBA_SOURCE)/../lib/tevent \
+ -I$(SAMBA_SOURCE)/../lib/tdb/include \
+ -I$(SAMBA_SOURCE)/librpc \
+ -I$(SAMBA_SOURCE)/../librpc \
+ -I$(SAMBA_SOURCE)/../ \
+ -I$(SAMBA_SOURCE) -I.
prefix = @prefix@
VFS_LIBDIR = $(libdir)/vfs
-# Auto target
-default: $(patsubst %.c,%.$(SHLIBEXT),$(wildcard *.c))
+# Note, if make fails, it might be because your version of make does not
+# support what we need. Try installing GNU make and rerun make.
+#
+# Note also, that if your module requires more than one object file to be
+# linked in you will have to modify Makefile.in to accommodate your needs and
+# then rerun configure before you can build.
+
+# Change these targets to the names of your modules if building out of tree
+MODULES = skel_opaque.@SHLIBEXT@ shadow_copy_test.@SHLIBEXT@ \
+ skel_transparent.@SHLIBEXT@
+
+all: $(MODULES)
# Pattern rules
-%.$(SHLIBEXT): %.$(OBJEXT)
- @echo "Linking $@"
- @$(CC) $(LDSHFLAGS) $(LDFLAGS) -o $@ $<
+.SUFFIXES: .@SHLIBEXT@
-%.$(OBJEXT): %.c
+# You might need to create an explicit rule for your shared object if your
+# shared object is built from multiple .c files.
+
+.c.@SHLIBEXT@:
@echo "Compiling $<"
- @$(CC) $(FLAGS) -c $<
+ @$(CC) $(FLAGS) -c $< -D$*_init=samba_init_module
+ @echo "Linking $@"
+ @$(CC) $(LDSHFLAGS) $(LDFLAGS) $*.@OBJEXT@ -o $*.@SHLIBEXT@
+# You might need to uncomment this if you have other .c files to compile
+#.c.@OBJEXT@:
+# @echo "Compiling $<"
+# @$(CC) $(FLAGS) -c $< -D$*_init=samba_init_module
install: default
$(INSTALLCMD) -d $(VFS_LIBDIR)
rm -f core *~ *% *.bak *.o *.$(SHLIBEXT)
distclean: clean
- rm config.* Makefile
+ rm -f config.status config.cache Makefile