2008-02-11 03:42:29 +03:00
#!gmake
2008-02-11 16:48:39 +03:00
# The Samba 4 Makefile.
# This file is *NOT* autogenerated.
2008-06-14 23:40:23 +04:00
#
.DEFAULT_GOAL := all
default : all
2008-02-11 03:42:29 +03:00
i n c l u d e m k c o n f i g . m k
2008-05-19 04:19:32 +04:00
pidldir := $( srcdir) /pidl
2008-02-11 03:42:29 +03:00
BASEDIR = $( prefix)
TORTUREDIR = $( libdir) /torture
SWATDIR = $( datadir) /swat
JSDIR = $( datadir) /js
SETUPDIR = $( datadir) /setup
NCALRPCDIR = $( localstatedir) /ncalrpc
BNLD = $( LD)
2008-02-20 11:20:13 +03:00
BNLD_FLAGS = $( LDFLAGS) $( SYS_LDFLAGS)
2008-02-11 03:42:29 +03:00
HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $( CFLAGS)
2008-02-20 11:20:13 +03:00
HOSTLD_FLAGS = $( LDFLAGS) $( SYS_LDFLAGS)
2008-02-11 03:42:29 +03:00
2008-04-14 16:51:57 +04:00
$(srcdir)/version.h : $( srcdir ) /VERSION
@$( SHELL) script/mkversion.sh VERSION $( srcdir) /version.h $( srcdir) /
2008-04-14 18:41:46 +04:00
i f n e q ( $( automatic_dependencies ) , y e s )
2008-05-19 01:02:47 +04:00
ALL_PREDEP = basics
2008-04-14 16:51:57 +04:00
.NOTPARALLEL :
e n d i f
regen_version ::
@$( SHELL) script/mkversion.sh VERSION $( srcdir) /version.h $( srcdir) /
clean_pch ::
@echo "Removing precompiled headers"
@-rm -f include/includes.h.gch
pch :: clean_pch include /includes .h .gch
2008-02-25 20:05:47 +03:00
.DEFAULT_GOAL := all
2008-03-04 12:47:40 +03:00
i f n e q ( $( automatic_dependencies ) , y e s )
2008-05-19 01:02:47 +04:00
ALL_PREDEP = basics
2008-02-25 20:05:47 +03:00
.NOTPARALLEL :
e n d i f
2008-02-11 03:42:29 +03:00
2008-05-23 21:25:05 +04:00
i n c l u d e $( srcdir ) / b u i l d / m a k e / r u l e s . m k
i n c l u d e $( srcdir ) / b u i l d / m a k e / p y t h o n . m k
2008-05-27 18:44:04 +04:00
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
2008-06-11 04:47:09 +04:00
tdbsrcdir := lib/tdb
2008-06-11 04:52:43 +04:00
ldbsrcdir := lib/ldb
2008-05-27 18:44:04 +04:00
libtlssrcdir := lib/tls
libregistrysrcdir := lib/registry
2008-05-27 21:35:04 +04:00
smbreadlinesrcdir := lib/smbreadline
2008-05-27 18:44:04 +04:00
libmessagingsrcdir := lib/messaging
libeventssrcdir := lib/events
libcmdlinesrcdir := lib/cmdline
2008-06-25 21:06:59 +04:00
poptsrcdir := lib/popt
2008-05-27 18:44:04 +04:00
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
ejsscriptsrcdir := scripting/ejs
pyscriptsrcdir := $( srcdir) /scripting/python
kdcsrcdir := kdc
2008-05-28 07:21:26 +04:00
ntp_signdsrcdir := ntp_signd
2008-05-27 18:44:04 +04:00
2008-02-11 03:42:29 +03:00
i n c l u d e d a t a . m k
2008-04-15 03:40:32 +04:00
pythonmods :: $( PYTHON_PYS ) $( PYTHON_SO )
2008-02-25 20:05:47 +03:00
DEP_FILES = $( patsubst %.ho,%.hd,$( patsubst %.o,%.d,$( ALL_OBJS) ) ) \
include/includes.d
2008-03-04 12:47:40 +03:00
i f e q ( $( automatic_dependencies ) , y e s )
2008-02-25 20:05:47 +03:00
i f n e q ( $( MAKECMDGOALS ) , c l e a n )
i f n e q ( $( MAKECMDGOALS ) , d i s t c l e a n )
i f n e q ( $( MAKECMDGOALS ) , r e a l d i s t c l e a n )
i f n e q ( $( SKIP_DEP_FILES ) , y e s )
- i n c l u d e $( DEP_FILES )
e n d i f
e n d i f
e n d i f
e n d i f
i f n e q ( $( SKIP_DEP_FILES ) , y e s )
clean ::
@echo Removing dependency files
@find . -name '*.d' -o -name '*.hd' | xargs rm -f
e n d i f
e l s e
i n c l u d e $( srcdir ) / s t a t i c _ d e p s . m k
e n d i f
2008-02-11 03:42:29 +03:00
DEFAULT_HEADERS = $( srcdir) /lib/util/dlinklist.h \
$( srcdir) /version.h
libraries :: $( STATIC_LIBS ) $( SHARED_LIBS )
2008-02-18 14:26:43 +03:00
modules :: $( PLUGINS )
2008-02-11 03:42:29 +03:00
headers :: $( PUBLIC_HEADERS ) $( DEFAULT_HEADERS )
manpages :: $( MANPAGES )
2008-08-01 18:53:52 +04:00
all :: showflags $( ALL_PREDEP ) binaries modules pythonmods libraries headers
2008-03-29 08:06:02 +03:00
everything :: all
2008-02-11 03:42:29 +03:00
LD_LIBPATH_OVERRIDE = $( LIB_PATH_VAR) = $( builddir) /bin/shared
# 'make testsuite' creates all binaries which are
# needed by samba3's 'make test' and the build-farm
# scripts use that it as fallback in case
# 'make everything' fails
testsuite :: bin /smbclient bin /cifsdd bin /smbtorture bin /nmblookup
showlayout ::
@echo 'Samba will be installed into:'
@echo ' basedir: $(BASEDIR)'
@echo ' bindir: $(bindir)'
@echo ' sbindir: $(sbindir)'
@echo ' libdir: $(libdir)'
@echo ' modulesdir: $(modulesdir)'
@echo ' includedir: $(includedir)'
@echo ' vardir: $(localstatedir)'
@echo ' privatedir: $(privatedir)'
@echo ' piddir: $(piddir)'
@echo ' lockdir: $(lockdir)'
@echo ' logfilebase: $(logfilebase)'
@echo ' setupdir: $(SETUPDIR)'
@echo ' jsdir: $(JSDIR)'
@echo ' swatdir: $(SWATDIR)'
@echo ' mandir: $(mandir)'
@echo ' torturedir: $(TORTUREDIR)'
@echo ' datadir: $(datadir)'
@echo ' winbindd_socket_dir: $(winbindd_socket_dir)'
2008-05-29 09:20:58 +04:00
@echo ' ntp_signd_socket_dir: $(ntp_signd_socket_dir)'
2008-02-11 03:42:29 +03:00
showflags ::
@echo ' srcdir = $(srcdir)'
@echo ' builddir = $(builddir)'
# The permissions to give the executables
INSTALLPERMS = 0755
2008-06-30 13:31:20 +04:00
install :: showlayout everything installbin installsbin installdat installswat installmisc \
2008-02-11 16:48:39 +03:00
installlib installheader installpc installplugins
2008-02-11 03:42:29 +03:00
# 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) $( TORTUREDIR) \
$( DESTDIR) $( libdir) \
$( DESTDIR) $( modulesdir) \
$( DESTDIR) $( mandir) \
$( DESTDIR) $( localstatedir) \
2008-07-01 08:53:31 +04:00
$( DESTDIR) $( localstatedir) /lib \
$( DESTDIR) $( localstatedir) /run \
2008-02-11 03:42:29 +03:00
$( DESTDIR) $( privatedir) \
$( DESTDIR) $( datadir) \
$( DESTDIR) $( piddir) \
$( DESTDIR) $( lockdir) \
$( DESTDIR) $( logfilebase) \
$( DESTDIR) $( privatedir) /tls \
$( DESTDIR) $( includedir) \
$( DESTDIR) $( PKGCONFIGDIR) \
2008-07-01 08:53:31 +04:00
$( DESTDIR) $( sysconfdir)
2008-02-11 03:42:29 +03:00
installbin :: $( SBIN_PROGS ) $( BIN_PROGS ) $( TORTURE_PROGS ) installdirs
@$( SHELL) $( srcdir) /script/installtorture.sh \
$( INSTALLPERMS) \
$( DESTDIR) $( TORTUREDIR) \
$( TORTURE_PROGS)
2008-02-16 18:22:05 +03:00
installplugins ::
2008-02-16 18:33:04 +03:00
installlib :: $( SHARED_LIBS ) $( STATIC_LIBS ) installdirs
@$( SHELL) $( srcdir) /script/installlib.sh $( DESTDIR) $( libdir) " $( SHLIBEXT) " $( SHARED_LIBS)
2008-02-11 03:42:29 +03:00
#@$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(libdir) "$(STLIBEXT)" $(STATIC_LIBS)
installheader :: headers installdirs
@srcdir= $( srcdir) builddir = $( builddir) $( PERL) $( srcdir) /script/installheader.pl $( DESTDIR) $( includedir) $( PUBLIC_HEADERS) $( DEFAULT_HEADERS)
installdat :: installdirs
@$( SHELL) $( srcdir) /script/installdat.sh $( DESTDIR) $( datadir) $( srcdir)
installswat :: installdirs
2008-03-28 02:39:22 +03:00
#SWAT has been disabled until further notice
# @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir)
2008-02-11 03:42:29 +03:00
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)
installpc :: installdirs
@$( SHELL) $( srcdir) /script/installpc.sh $( builddir) $( DESTDIR) $( PKGCONFIGDIR) $( PC_FILES)
uninstall :: uninstallbin uninstallman uninstallmisc uninstalllib uninstallheader \
uninstallplugins
uninstallmisc ::
#FIXME
2008-06-26 13:51:22 +04:00
$(DESTDIR)$(bindir)/% : bin /% installdirs
@mkdir -p $( @D)
@echo Installing $( @F) as $@
2008-06-27 06:56:20 +04:00
@if test -f $@ ; then echo -n "" ; rm -f $@ .old; mv $@ $@ .old; fi
2008-06-26 13:51:22 +04:00
@cp $< $@
@chmod $( INSTALLPERMS) $@
$(DESTDIR)$(sbindir)/% : bin /% installdirs
@mkdir -p $( @D)
@echo Installing $( @F) as $@
2008-06-27 06:56:20 +04:00
@if test -f $@ ; then echo -n "" ; rm -f $@ .old; mv $@ $@ .old; fi
2008-06-26 13:51:22 +04:00
@cp $< $@
@chmod $( INSTALLPERMS) $@
2008-02-11 03:42:29 +03:00
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 ::
@$( 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)
uninstallman ::
@$( SHELL) $( srcdir) /script/uninstallman.sh $( DESTDIR) $( mandir) $( MANPAGES)
2008-02-16 18:22:05 +03:00
uninstallplugins ::
2008-02-11 17:52:34 +03:00
config.status :
@echo "config.status does not exist. Please run ./configure."
@/bin/false
2008-02-11 03:42:29 +03:00
data.mk : config .status $( MK_FILES )
./config.status
2008-02-11 16:48:39 +03:00
testcov-html ::
2008-02-11 03:42:29 +03:00
2008-05-23 21:25:05 +04:00
i n c l u d e $( pidldir ) / c o n f i g . m k
2008-06-25 22:04:35 +04:00
selftestdir := $( srcdir) /selftest
i n c l u d e $( selftestdir ) / c o n f i g . m k
2008-02-11 03:42:29 +03:00
showflags ::
@echo ' pwd = ' ` /bin/pwd`