Makefile: dist target works again

For now, Make is dependent on being run inside of the git repository,
at least if something like `make VERSION=3.14` isn't used. Will be
nice in the future if it can read from the VERSION file as a fallback.
This commit is contained in:
Mike Swanson 2013-12-31 01:51:20 -08:00
parent b7b59b7ea1
commit 4619f5a4de
2 changed files with 39 additions and 44 deletions

View file

@ -26,6 +26,7 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION != git describe
WADS=wads WADS=wads
CPP=scripts/simplecpp CPP=scripts/simplecpp
DEUTEX=deutex DEUTEX=deutex
@ -151,15 +152,13 @@ $(WADS)/freedoom_sounds.wad : wadinfo.txt force
rm -f $@ rm -f $@
$(DEUTEX) $(DEUTEX_ARGS) -sounds -musics -build wadinfo.txt $@ $(DEUTEX) $(DEUTEX_ARGS) -sounds -musics -build wadinfo.txt $@
doc: BUILD-SYSTEM.asc README.asc
dist : $(OBJS)
scripts/makepkgs $(OBJS)
doc:
asciidoc BUILD-SYSTEM.asc asciidoc BUILD-SYSTEM.asc
asciidoc README.asc asciidoc README.asc
dist: $(OBJS) doc
VERSION=$(VERSION) scripts/makepkgs $(OBJS)
clean: clean:
rm -f *.html deutex.log $(OBJS) \ rm -f *.html deutex.log $(OBJS) \
./wadinfo.txt ./wadinfo_sw.txt \ ./wadinfo.txt ./wadinfo_sw.txt \

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python #!/usr/bin/env python
# #
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2013
# Contributors to the Freedoom project. All rights reserved. # Contributors to the Freedoom project. All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -34,76 +34,72 @@ import sys
# Documentation files included with distributions. # Documentation files included with distributions.
DIST_DOCS = [ DIST_DOCS = [
"NEWS", "COPYING",
"ChangeLog", "CREDITS",
"COPYING", "README.html"
"CREDITS",
"README"
] ]
# Most WADs are given a ZIP equal to their name, but some have different # Most WADs are given a ZIP equal to their name, but some have different
# names: # names:
DIR_NAMES = { DIR_NAMES = {
'doom2' : 'freedoom-iwad', 'doom2' : 'freedoom-iwad',
'doom1' : 'freedoom-demo', 'doom' : 'freedoom-ultimate',
'doom' : 'freedoom-episodes', 'freedoom' : 'freedoom-resource-wad',
'freedoom' : 'freedoom-resource-wad',
} }
# Run a command, displaying it before executing it. # Run a command, displaying it before executing it.
def run_command(command): def run_command(command):
print "> " + command print("> " + command)
os.system(command) os.system(command)
# Find the version to build: # Find the version to build:
version = os.getenv("VERSION") version = os.getenv("VERSION")
if version is None: if version is None:
raise Exception("Version not specified for release!") raise Exception("Version not specified for release!")
# Build all of the packages # Build all of the packages
for filename in sys.argv[1:]: for filename in sys.argv[1:]:
path = os.path.dirname(filename) path = os.path.dirname(filename)
basename = os.path.basename(filename) basename = os.path.basename(filename)
# Cut off the extension, and build the directory name # Cut off the extension, and build the directory name
pkgname = basename[0:-4] pkgname = basename[0:-4]
if pkgname in DIR_NAMES: if pkgname in DIR_NAMES:
base_dir = DIR_NAMES[pkgname] base_dir = DIR_NAMES[pkgname]
else: else:
base_dir = pkgname base_dir = pkgname
# Append the version: # Append the version:
base_dir += "-" + version base_dir += "-" + version
# Replace underscores with hyphens: # Replace underscores with hyphens:
base_dir = base_dir.replace("_", "-") base_dir = base_dir.replace("_", "-")
full_path = path + "/" + base_dir full_path = path + "/" + base_dir
# Create directory, and add files. # Create directory, and add files.
run_command("mkdir %s" % full_path) run_command("mkdir %s" % full_path)
for doc in DIST_DOCS + [ filename ]: for doc in DIST_DOCS + [ filename ]:
run_command("cp %s %s" % (doc, full_path)) run_command("cp %s %s" % (doc, full_path))
# Change to the parent directory, and build the zip # Change to the parent directory, and build the zip
orig_dir = os.getcwd() orig_dir = os.getcwd()
os.chdir(path)
run_command("rm -f %s.zip" % base_dir)
run_command("zip -r %s.zip %s" % (base_dir, base_dir))
run_command("rm -rf %s" % base_dir)
os.chdir(orig_dir)
os.chdir(path)
run_command("rm -f %s.zip" % base_dir)
run_command("zip -r %s.zip %s" % (base_dir, base_dir))
run_command("rm -rf %s" % base_dir)
os.chdir(orig_dir)