Skip to content

Commit

Permalink
waf: added top level build rules
Browse files Browse the repository at this point in the history
This adds build rules for the top level directory based on the ones
from source4.

This is an intermediate step towards a combined top level build which
will build both the Samba3 (bin/smbd, bin/nmbd etc) and Samba4
(bin/samba) binaries from a single build

Pair-Programmed-With: Andrew Bartlett <[email protected]>
  • Loading branch information
Andrew Tridgell committed Feb 7, 2011
1 parent 9f9b363 commit 72e1a39
Show file tree
Hide file tree
Showing 5 changed files with 511 additions and 0 deletions.
75 changes: 75 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# simple makefile wrapper to run waf

WAF_BINARY=./buildtools/bin/waf
WAF=WAF_MAKE=1 $(WAF_BINARY)

all:
$(WAF) build

install:
$(WAF) install

uninstall:
$(WAF) uninstall

test:
$(WAF) test $(TEST_OPTIONS)

help:
@echo NOTE: to run extended waf options use $(WAF_BINARY) or modify your PATH
$(WAF) --help

subunit-test:
$(WAF) test --filtered-subunit $(TEST_OPTIONS)

testenv:
$(WAF) test --testenv $(TEST_OPTIONS)

quicktest:
$(WAF) test --quick $(TEST_OPTIONS)

dist:
touch .tmplock
WAFLOCK=.tmplock $(WAF) dist

distcheck:
touch .tmplock
WAFLOCK=.tmplock $(WAF) distcheck

clean:
$(WAF) clean

distclean:
$(WAF) distclean

reconfigure: configure
$(WAF) reconfigure

show_waf_options:
$(WAF) --help

# some compatibility make targets
everything: all

testsuite: all

check: test

torture: all

# this should do an install as well, once install is finished
installcheck: test

etags:
$(WAF) etags

ctags:
$(WAF) ctags

# this allows for things like "make bin/smbtorture"
bin/%:: FORCE
$(WAF) --targets=`basename $@`
FORCE:

pydoctor:
$(WAF) pydoctor
117 changes: 117 additions & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
########################################################
# SAMBA Version #
# #
# Samba versions are as follows #
# 3.0.x New production series #
# 3.0.x{tp,pre,rc}y Preview/Testing & RC #
# 3.0.x[a-z] Patch releases #
# 3.0.x[a-z]-VENDOR-z Vendor patch releases #
# #
# script/mkversion.sh #
# will use this file to create #
# include/version.h #
# #
########################################################

########################################################
# This are the main SAMBA version numbers #
# #
# <MAJOR>.<MINOR>.<RELEASE> #
# #
# e.g. SAMBA_VERSION_MAJOR=3 #
# SAMBA_VERSION_MINOR=0 #
# SAMBA_VERSION_RELEASE=0 #
# -> "3.0.0" #
########################################################
SAMBA_VERSION_MAJOR=4
SAMBA_VERSION_MINOR=0
SAMBA_VERSION_RELEASE=0

########################################################
# If a official release has a serious bug #
# a security release will have 'a' sufffix #
# #
# so SAMBA's version will be #
# <MAJOR>.<MINOR>.<RELEASE><REVISION> #
# #
# e.g. SAMBA_VERSION_REVISION=a #
# -> "2.2.8a" #
########################################################
SAMBA_VERSION_REVISION=

########################################################
# For 'tp' releases the version will be #
# #
# <MAJOR>.<MINOR>.<RELEASE>tp<TP_RELEASE> #
# #
# e.g. SAMBA_VERSION_TP_RELEASE=1 #
# -> "4.0.0tp1" #
########################################################
SAMBA_VERSION_TP_RELEASE=

########################################################
# For 'alpha' releases the version will be #
# #
# <MAJOR>.<MINOR>.<RELEASE>alpha<TP_RELEASE> #
# #
# e.g. SAMBA_VERSION_ALPHA_RELEASE=1 #
# -> "4.0.0alpha1" #
########################################################
SAMBA_VERSION_ALPHA_RELEASE=15

########################################################
# For 'pre' releases the version will be #
# #
# <MAJOR>.<MINOR>.<RELEASE>pre<PRE_RELEASE> #
# #
# e.g. SAMBA_VERSION_PRE_RELEASE=1 #
# -> "2.2.9pre1" #
########################################################
SAMBA_VERSION_PRE_RELEASE=

########################################################
# For 'rc' releases the version will be #
# #
# <MAJOR>.<MINOR>.<RELEASE>rc<RC_RELEASE> #
# #
# e.g. SAMBA_VERSION_RC_RELEASE=1 #
# -> "3.0.0rc1" #
########################################################
SAMBA_VERSION_RC_RELEASE=

########################################################
# To mark SVN snapshots this should be set to 'yes' #
# in the development BRANCH, and set to 'no' only in #
# the SAMBA_X_X_RELEASE BRANCH #
# #
# <MAJOR>.<MINOR>.<RELEASE>[...]-SVN-build-xxx #
# #
# e.g. SAMBA_VERSION_IS_SVN_SNAPSHOT=yes #
# -> "3.0.0-SVN-build-199" #
########################################################
SAMBA_VERSION_IS_GIT_SNAPSHOT=yes

########################################################
# This is for specifying a release nickname #
# #
# e.g. SAMBA_VERSION_RELEASE_NICKNAME=Nicky Nickname #
# smbd --version will then give: #
# -> "4.0.0-tp1-VendorVersion (Nicky Nickname)" #
########################################################
SAMBA_VERSION_RELEASE_NICKNAME=

########################################################
# This can be set by vendors if they want... #
# This can be a string constant or a function which #
# returns a string (const char *) #
# #
# <MAJOR>.<MINOR>.<RELEASE>[...]-<VENDOR_SUFFIX> #
# #
# Note the '-' is automaticaly added #
# #
# e.g. SAMBA_VERSION_VENDOR_SUFFIX=VendorVersion #
# -> "3.0.0rc2-VendorVersion" #
# #
########################################################
SAMBA_VERSION_VENDOR_SUFFIX=
SAMBA_VERSION_VENDOR_PATCH=
14 changes: 14 additions & 0 deletions configure
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh

PREVPATH=`dirname $0`

WAF=./buildtools/bin/waf

# using JOBS=1 gives maximum compatibility with
# systems like AIX which have broken threading in python
JOBS=1
export JOBS

cd . || exit 1
$WAF configure "$@" || exit 1
cd $PREVPATH
Loading

0 comments on commit 72e1a39

Please sign in to comment.