summaryrefslogtreecommitdiff
path: root/source4/Makefile.core
diff options
context:
space:
mode:
Diffstat (limited to 'source4/Makefile.core')
-rw-r--r--source4/Makefile.core86
1 files changed, 86 insertions, 0 deletions
diff --git a/source4/Makefile.core b/source4/Makefile.core
index 8e593224eb..5f417b4624 100644
--- a/source4/Makefile.core
+++ b/source4/Makefile.core
@@ -52,8 +52,10 @@ include kdc/config.mk
include lib/replace/config.mk
include scripting/ejs/config.mk
+all: binaries
binaries: $(BIN_PROGS) $(SBIN_PROGS)
manpages: $(MANPAGES)
+everything: all
showlayout:
@echo "Samba will be installed into:"
@@ -75,4 +77,88 @@ showflags:
@echo " STLD_FLAGS = $(STLD_FLAGS)"
@echo " SHLD_FLAGS = $(SHLD_FLAGS)"
+install: showlayout installbin installdat installswat
+# DESTDIR is used here to prevent packagers wasting their time
+# duplicating the Makefile. Remove it and you will have the privilege
+# of packaging each samba release for multiple versions of multiple
+# distributions and operating systems, or at least supplying patches
+# to all the packaging files required for this, prior to committing
+# the removal of DESTDIR. Do not remove it even though you think it
+# is not used.
+
+installdirs:
+ @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR) $(DESTDIR)$(PIDDIR) $(DESTDIR)$(LOCKDIR) $(DESTDIR)$(PRIVATEDIR)/tls
+
+installbin: binaries installdirs
+ @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
+ @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
+
+installdat: installdirs
+ @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir)
+
+installswat: installdirs
+ @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) $(DESTDIR)$(LIBDIR)
+
+installman: installdirs
+ @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(MANDIR) $(MANPAGES)
+
+uninstall: uninstallbin uninstallman
+
+uninstallbin:
+ @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS)
+ @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(BIN_PROGS)
+
+uninstallman:
+ @$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(MANPAGES)
+
+
+etags:
+ etags `find $(srcdir) -name "*.[ch]"`
+
+ctags:
+ ctags `find $(srcdir) -name "*.[ch]"`
+
+idl_full: build/pidl/Parse/Pidl/IDL.pm
+ @CPP="$(CPP)" PERL="$(PERL)" script/build_idl.sh FULL @PIDL_ARGS@
+
+idl: build/pidl/Parse/Pidl/IDL.pm
+ @CPP="$(CPP)" PERL="$(PERL)" script/build_idl.sh PARTIAL @PIDL_ARGS@
+
+build/pidl/Parse/Pidl/IDL.pm: build/pidl/idl.yp
+ -yapp -s -m 'Parse::Pidl::IDL' -o build/pidl/Parse/Pidl/IDL.pm build/pidl/idl.yp
+
+smb_interfaces: build/pidl/smb_interfaces.pm
+ $(PERL) -Ibuild/pidl script/build_smb_interfaces.pl \
+ include/smb_interfaces.h
+
+build/pidl/smb_interfaces.pm: build/pidl/smb_interfaces.yp
+ -yapp -s -m 'smb_interfaces' -o build/pidl/smb_interfaces.pm build/pidl/smb_interfaces.yp
+
+pch: proto include/includes.h.gch
+
+pch_clean:
+ -rm -f include/includes.h.gch
+
+basics: idl proto_exists
+
+test: $(DEFAULT_TEST_TARGET)
+
+test-swrap: all
+ ./script/tests/selftest.sh ${selftest_prefix}/st all SOCKET_WRAPPER
+
+test-noswrap: all
+ ./script/tests/selftest.sh ${selftest_prefix}/st all
+
+quicktest: all
+ ./script/tests/selftest.sh ${selftest_prefix}/st quick SOCKET_WRAPPER
+
+valgrindtest: all
+ SMBD_VALGRIND="xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30" \
+ ./script/tests/selftest.sh ${selftest_prefix}/st quick SOCKET_WRAPPER
+
+.y.c:
+ $(YACC) -d -o $@ $<
+
+.l.c:
+ $(LEX) -o $@ $<