X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=source4%2FMakefile;h=7dae4729b74d6e722de1848f87ec2b1bfcec5f09;hb=cbe4f1b4fae72a54e610725d3304fefd37aa4495;hp=0ee36ec830d62d7f2f54ca2cc371bf08f90bb6aa;hpb=cceac63aaab26a72e2f3fd150dd1e4e83a0e5279;p=ira%2Fwip.git diff --git a/source4/Makefile b/source4/Makefile index 0ee36ec830d..7dae4729b74 100644 --- a/source4/Makefile +++ b/source4/Makefile @@ -1,19 +1,20 @@ #!gmake # The Samba 4 Makefile. # This file is *NOT* autogenerated. +# +.DEFAULT_GOAL := all -include mkconfig.mk +default: all -pidldir := $(srcdir)/pidl +include mkconfig.mk -VPATH = $(builddir):$(srcdir):heimdal_build:heimdal/lib/asn1:heimdal/lib/krb5:heimdal/lib/gssapi:heimdal/lib/hdb:heimdal/lib/roken:heimdal/lib/des +pidldir := $(srcdir)/../pidl -BASEDIR = $(prefix) -TORTUREDIR = $(libdir)/torture -SWATDIR = $(datadir)/swat -JSDIR = $(datadir)/js -SETUPDIR = $(datadir)/setup -NCALRPCDIR = $(localstatedir)/ncalrpc +basedir = $(prefix) +torturedir = $(libdir)/torture +swatdir = $(datadir)/swat +setupdir = $(datadir)/setup +ncalrpcdir = $(localstatedir)/ncalrpc BNLD = $(LD) BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS) @@ -24,8 +25,6 @@ HOSTLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS) $(srcdir)/version.h: $(srcdir)/VERSION @$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/ -.DEFAULT_GOAL := all - ifneq ($(automatic_dependencies),yes) ALL_PREDEP = basics .NOTPARALLEL: @@ -47,11 +46,75 @@ ALL_PREDEP = basics .NOTPARALLEL: endif -include build/make/rules.mk -include build/make/python.mk +include $(srcdir)/build/make/rules.mk +include $(srcdir)/build/make/python.mk +zlibsrcdir := ../lib/zlib +dynconfigsrcdir := dynconfig +heimdalsrcdir := heimdal +dsdbsrcdir := dsdb +smbdsrcdir := smbd +clustersrcdir := cluster +libnetsrcdir := libnet +authsrcdir := auth +nsswitchsrcdir := nsswitch +libsrcdir := lib +libsocketsrcdir := lib/socket +libcharsetsrcdir := lib/charset +ldb_sambasrcdir := lib/ldb-samba +tdbsrcdir := ../lib/tdb +ldbsrcdir := lib/ldb +libtlssrcdir := lib/tls +libregistrysrcdir := lib/registry +smbreadlinesrcdir := lib/smbreadline +libmessagingsrcdir := lib/messaging +libeventssrcdir := lib/events +libcmdlinesrcdir := lib/cmdline +poptsrcdir := ../lib/popt +socketwrappersrcdir := ../lib/socket_wrapper +nsswrappersrcdir := ../lib/nss_wrapper +appwebsrcdir := lib/appweb +libstreamsrcdir := lib/stream +libutilsrcdir := ../lib/util +libtdrsrcdir := lib/tdr +libdbwrapsrcdir := lib/dbwrap +libcryptosrcdir := ../lib/crypto +libtorturesrcdir := lib/torture +smb_serversrcdir := smb_server +libcompressionsrcdir := ../lib/compression +libgencachesrcdir := lib +paramsrcdir := param +rpc_serversrcdir := rpc_server +ldap_serversrcdir := ldap_server +web_serversrcdir := web_server +winbindsrcdir := winbind +nbt_serversrcdir := nbt_server +wrepl_serversrcdir := wrepl_server +cldap_serversrcdir := cldap_server +utilssrcdir := utils +clientsrcdir := client +torturesrcdir := torture +ntvfssrcdir := ntvfs +ntptrsrcdir := ntptr +librpcsrcdir := librpc +libclisrcdir := libcli +libclinbtsrcdir := ../libcli/nbt +pyscriptsrcdir := $(srcdir)/scripting/python +kdcsrcdir := kdc +ntp_signdsrcdir := ntp_signd +wmisrcdir := lib/wmi +tallocsrcdir := ../lib/talloc +comsrcdir := $(srcdir)/lib/com + include data.mk -BINARIES += $(BIN_PROGS) $(SBIN_PROGS) +$(foreach SCRIPT,$(wildcard scripting/bin/*),$(eval $(call binary_install_template,$(SCRIPT)))) + +$(DESTDIR)$(bindir)/%: scripting/bin/% installdirs + @mkdir -p $(@D) + @echo Installing $(@F) as $@ + @if test -f $@; then echo -n ""; rm -f $@.old; mv $@ $@.old; fi + @cp $< $@ + @chmod $(INSTALLPERMS) $@ pythonmods:: $(PYTHON_PYS) $(PYTHON_SO) @@ -78,15 +141,17 @@ else include $(srcdir)/static_deps.mk endif -DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \ +clean:: + @find ../lib ../libcli -name '*.o' -o -name '*.ho' | xargs rm -f + +DEFAULT_HEADERS = $(srcdir)/../lib/util/dlinklist.h \ $(srcdir)/version.h -binaries:: $(BINARIES) libraries:: $(STATIC_LIBS) $(SHARED_LIBS) modules:: $(PLUGINS) headers:: $(PUBLIC_HEADERS) $(DEFAULT_HEADERS) manpages:: $(MANPAGES) -all:: showflags $(ALL_PREDEP) bin/asn1_compile bin/compile_et binaries modules pythonmods libraries headers +all:: showflags $(ALL_PREDEP) binaries modules pythonmods libraries headers everything:: all LD_LIBPATH_OVERRIDE = $(LIB_PATH_VAR)=$(builddir)/bin/shared @@ -99,7 +164,7 @@ testsuite:: bin/smbclient bin/cifsdd bin/smbtorture bin/nmblookup showlayout:: @echo 'Samba will be installed into:' - @echo ' basedir: $(BASEDIR)' + @echo ' basedir: $(basedir)' @echo ' bindir: $(bindir)' @echo ' sbindir: $(sbindir)' @echo ' libdir: $(libdir)' @@ -110,13 +175,13 @@ showlayout:: @echo ' piddir: $(piddir)' @echo ' lockdir: $(lockdir)' @echo ' logfilebase: $(logfilebase)' - @echo ' setupdir: $(SETUPDIR)' - @echo ' jsdir: $(JSDIR)' - @echo ' swatdir: $(SWATDIR)' + @echo ' setupdir: $(setupdir)' + @echo ' swatdir: $(swatdir)' @echo ' mandir: $(mandir)' - @echo ' torturedir: $(TORTUREDIR)' + @echo ' torturedir: $(torturedir)' @echo ' datadir: $(datadir)' @echo ' winbindd_socket_dir: $(winbindd_socket_dir)' + @echo ' ntp_signd_socket_dir: $(ntp_signd_socket_dir)' showflags:: @echo ' srcdir = $(srcdir)' @@ -125,7 +190,7 @@ showflags:: # The permissions to give the executables INSTALLPERMS = 0755 -install:: showlayout everything installbin installdat installswat installmisc \ +install:: showlayout everything installbin installsbin installdat installmisc \ installlib installheader installpc installplugins # DESTDIR is used here to prevent packagers wasting their time @@ -138,14 +203,16 @@ install:: showlayout everything installbin installdat installswat installmisc \ installdirs:: @$(SHELL) $(srcdir)/script/installdirs.sh \ - $(DESTDIR)$(BASEDIR) \ + $(DESTDIR)$(basedir) \ $(DESTDIR)$(bindir) \ $(DESTDIR)$(sbindir) \ - $(DESTDIR)$(TORTUREDIR) \ + $(DESTDIR)$(torturedir) \ $(DESTDIR)$(libdir) \ $(DESTDIR)$(modulesdir) \ $(DESTDIR)$(mandir) \ $(DESTDIR)$(localstatedir) \ + $(DESTDIR)$(localstatedir)/lib \ + $(DESTDIR)$(localstatedir)/run \ $(DESTDIR)$(privatedir) \ $(DESTDIR)$(datadir) \ $(DESTDIR)$(piddir) \ @@ -153,28 +220,10 @@ installdirs:: $(DESTDIR)$(logfilebase) \ $(DESTDIR)$(privatedir)/tls \ $(DESTDIR)$(includedir) \ - $(DESTDIR)$(PKGCONFIGDIR) \ - $(DESTDIR)$(sysconfdir) \ + $(DESTDIR)$(pkgconfigdir) \ + $(DESTDIR)$(sysconfdir) -installbin:: $(SBIN_PROGS) $(BIN_PROGS) $(TORTURE_PROGS) installdirs - @$(SHELL) $(srcdir)/script/installbin.sh \ - $(INSTALLPERMS) \ - $(DESTDIR)$(BASEDIR) \ - $(DESTDIR)$(sbindir) \ - $(DESTDIR)$(libdir) \ - $(DESTDIR)$(localstatedir) \ - $(SBIN_PROGS) - @$(SHELL) $(srcdir)/script/installbin.sh \ - $(INSTALLPERMS) \ - $(DESTDIR)$(BASEDIR) \ - $(DESTDIR)$(bindir) \ - $(DESTDIR)$(libdir) \ - $(DESTDIR)$(localstatedir) \ - $(BIN_PROGS) - @$(SHELL) $(srcdir)/script/installtorture.sh \ - $(INSTALLPERMS) \ - $(DESTDIR)$(TORTUREDIR) \ - $(TORTURE_PROGS) +installbin:: installdirs installplugins:: @@ -188,42 +237,60 @@ installheader:: headers installdirs installdat:: installdirs @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(datadir) $(srcdir) -installswat:: installdirs -#SWAT has been disabled until further notice -# @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) - installman:: manpages installdirs @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(mandir) $(MANPAGES) installmisc:: installdirs - @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(JSDIR) $(DESTDIR)$(SETUPDIR) $(DESTDIR)$(bindir) + @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(setupdir) installpc:: installdirs - @$(SHELL) $(srcdir)/script/installpc.sh $(builddir) $(DESTDIR)$(PKGCONFIGDIR) $(PC_FILES) + @$(SHELL) $(srcdir)/script/installpc.sh $(builddir) $(DESTDIR)$(pkgconfigdir) $(PC_FILES) -uninstall:: uninstallbin uninstallman uninstallmisc uninstalllib uninstallheader \ - uninstallplugins +uninstall:: uninstallbin uninstallsbin uninstalldat uninstallmisc uninstalllib uninstallheader \ + uninstallman uninstallpc uninstallplugins uninstallmisc:: - #FIXME + @echo "Removing MISC files" + @rm -rf $(DESTDIR)$(setupdir)/* + +$(DESTDIR)$(bindir)/%: bin/% installdirs + @mkdir -p $(@D) + @echo Installing $(@F) as $@ + @if test -f $@; then echo -n ""; rm -f $@.old; mv $@ $@.old; fi + @cp $< $@ + @chmod $(INSTALLPERMS) $@ + +$(DESTDIR)$(sbindir)/%: bin/% installdirs + @mkdir -p $(@D) + @echo Installing $(@F) as $@ + @if test -f $@; then echo -n ""; rm -f $@.old; mv $@ $@.old; fi + @cp $< $@ + @chmod $(INSTALLPERMS) $@ + +uninstalldat:: + @echo "Removing DAT files" + @rm -fr $(DESTDIR)$(datadir)/* uninstallbin:: - @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(sbindir) $(DESTDIR)$(libdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(SBIN_PROGS) - @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(BIN_PROGS) - @$(SHELL) $(srcdir)/script/uninstalltorture.sh $(DESTDIR)$(TORTUREDIR) $(TORTURE_PROGS) uninstalllib:: + @echo "Removing libraries" @$(SHELL) $(srcdir)/script/uninstalllib.sh $(DESTDIR)$(libdir) $(SHARED_LIBS) - #@$(SHELL) $(srcdir)/script/uninstalllib.sh $(DESTDIR)$(libdir) $(STATIC_LIBS) uninstallheader:: - @$(SHELL) $(srcdir)/script/uninstallheader.sh $(DESTDIR)$(includedir) $(PUBLIC_HEADERS) + @echo "Removing headers" + @rm -fr $(DESTDIR)$(includedir)/* uninstallman:: + @echo "Removing manpages" @$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(mandir) $(MANPAGES) uninstallplugins:: +uninstallpc:: + @echo "Removing package configurations" + @cd $(DESTDIR)$(pkgconfigdir); rm -f $(notdir $(PC_FILES)) + config.status: @echo "config.status does not exist. Please run ./configure." @/bin/false @@ -233,8 +300,9 @@ data.mk: config.status $(MK_FILES) testcov-html:: -include pidl/config.mk -include selftest/config.mk +include $(pidldir)/config.mk +selftestdir := $(srcdir)/selftest +include $(selftestdir)/config.mk showflags:: @echo ' pwd = '`/bin/pwd`