mirror of
https://github.com/samba-team/samba.git
synced 2025-01-17 02:05:21 +03:00
1c1781b2c4
By being more consistant in applying CFLAGS and LDFLAGS (in particular) to every invocation, we make it simpler to enable gcov code coverage, both in the build system and on the build farm. Andrew Bartlett (This used to be commit 8c2f658a9688f0c51d2f3b948dc3213b65c7b77f)
186 lines
5.8 KiB
Makefile
186 lines
5.8 KiB
Makefile
#!gmake
|
|
# The Samba 4 Makefile.
|
|
# This file is *NOT* autogenerated.
|
|
|
|
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
|
|
|
|
BASEDIR = $(prefix)
|
|
TORTUREDIR = $(libdir)/torture
|
|
SWATDIR = $(datadir)/swat
|
|
JSDIR = $(datadir)/js
|
|
SETUPDIR = $(datadir)/setup
|
|
NCALRPCDIR = $(localstatedir)/ncalrpc
|
|
|
|
BNLD = $(LD)
|
|
BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
|
|
|
|
HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $(CFLAGS)
|
|
HOSTLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
|
|
|
|
default: all
|
|
|
|
include rules.mk
|
|
include data.mk
|
|
|
|
DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \
|
|
$(srcdir)/version.h
|
|
|
|
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
|
|
everything:: all libraries headers
|
|
|
|
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)'
|
|
|
|
showflags::
|
|
@echo ' srcdir = $(srcdir)'
|
|
@echo ' builddir = $(builddir)'
|
|
|
|
# The permissions to give the executables
|
|
INSTALLPERMS = 0755
|
|
|
|
install:: showlayout everything installbin installdat installswat installmisc \
|
|
installlib installheader installpc installplugins
|
|
|
|
# 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) \
|
|
$(DESTDIR)$(privatedir) \
|
|
$(DESTDIR)$(datadir) \
|
|
$(DESTDIR)$(piddir) \
|
|
$(DESTDIR)$(lockdir) \
|
|
$(DESTDIR)$(logfilebase) \
|
|
$(DESTDIR)$(privatedir)/tls \
|
|
$(DESTDIR)$(includedir) \
|
|
$(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)
|
|
|
|
installplugins::
|
|
|
|
installlib:: $(SHARED_LIBS) $(STATIC_LIBS) installdirs
|
|
@$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(libdir) "$(SHLIBEXT)" $(SHARED_LIBS)
|
|
#@$(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
|
|
@$(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)
|
|
|
|
installpc:: installdirs
|
|
@$(SHELL) $(srcdir)/script/installpc.sh $(builddir) $(DESTDIR)$(PKGCONFIGDIR) $(PC_FILES)
|
|
|
|
uninstall:: uninstallbin uninstallman uninstallmisc uninstalllib uninstallheader \
|
|
uninstallplugins
|
|
|
|
uninstallmisc::
|
|
#FIXME
|
|
|
|
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)
|
|
|
|
uninstallplugins::
|
|
|
|
config.status:
|
|
@echo "config.status does not exist. Please run ./configure."
|
|
@/bin/false
|
|
|
|
data.mk: config.status $(MK_FILES)
|
|
./config.status
|
|
|
|
testcov-html::
|
|
|
|
include pidl/config.mk
|
|
include selftest/config.mk
|
|
|
|
showflags::
|
|
@echo ' pwd = '`/bin/pwd`
|