Commit Graph

112 Commits (20bd1479ff23b8e411900eb577b1b53b12462b7a)

Author SHA1 Message Date
Steven Elliott 20bd1479ff build: Fix the rebuild-nodes target
The rebuild-nodes target needs to be updated from "c" (chapter) to
"e" (episode).
2021-03-20 14:17:01 -04:00
Mike Swanson 6970c7a887 Merge remote-tracking branch 'selliott512/rebuild-nodes' 2019-12-22 16:13:31 -08:00
Steven Elliott eb8efd3297 Makefile: Warn if deutex does not support PNG
Check if deutex supports PNG based on its help output and fail the
build early if not.
2019-12-22 14:19:46 -06:00
Steven Elliott 9e7b4f20b5 Makefile: Add "rebuild-nodes" make target
Add "rebuild-nodes" make target to rebuild nodes for all levels that
match a specified pattern. Document "rebuild-nodes" in
BUILD-SYSTEM.adoc. Modify map06.wad so it adheres to the "no padding
between the lumps" constraint.
2019-12-15 14:49:15 -06:00
Mike Swanson 08b1deeee3 Makefile: use XDG-compliant icon file names
Completes PR #638
2019-11-05 11:27:12 -08:00
Mike Swanson 77c53e11ad Makefile: remove SHELL variable
This was added in 2019-10-27T03:24:50Z!noreply@github.com to fix a bug
the former wad-image targets created when run on non-bash shell.  Its
author now recommends to remove it with the removal of wad-image.
2019-10-28 18:54:00 -07:00
Mike Swanson 30bad18883 Makefile: remove wad-image-clean as prereq to clean target
Thanks Fabian for pointing this out
2019-10-28 14:53:25 -07:00
Mike Swanson 119f129417 Makefile: remove wad-image targets
These targets were rather complicated to set up and use and were
geared around a couple very specific use-cases rather than fully
allowing a set of features wad2image can really accomplish.

In favor of keeping Freedoom’s Makefile relevant just to building (and
installing) our own game, let’s remove this.  wad2image can be used
independently anyhow. 😃
2019-10-28 10:30:10 -07:00
Mike Swanson f961c3e72c Makefile: remove bash -x option, avoiding duplicating exec lines 2019-10-28 10:29:22 -07:00
Tyler True d050fdc854
Explicitly define the shell (bash) and its env.
This makes the "command: command not found" error no longer occur on
systems where the default shell is not `bash`, or does not support the
`bash` builtins. Additionally, a sane environment is set for safer
shell command use and scripting.

The environment settings for `bash` here do the following:
  - Terminate on errors, including signal `ERR` traps. (-e, -E)
  - Ensure that shell variables are set before use. (-u)
  - Print the shell command, and arguments, as they're run. (-x)
  - Fail on errors in any command in a pipeline. (-o pipefail)
2019-10-26 23:24:50 -04:00
Mike Swanson e532a931d8 bump version to 0.12.1 2019-10-22 11:27:59 -07:00
Mike Swanson fded57d635 make: reduce install targets to just “freedm” and “freedoom”
Causes the installation to be more similar to how the pre-built Zip
files are handled: separating out the multiplayer and
singleplayer-focused games into two targets.  This is similar also to
how Debian and Fedora generate their packages for the game and it is a
sensible one.

Also creates a lot of duplicated lines in the make rules, even though
the number of targets is actually reduced.
2019-10-14 22:38:54 -07:00
Mike Swanson c42cbd218d fancify HTML output using the website style 2019-10-11 11:12:33 -07:00
Mike Swanson ff8d673d7d Freedoom is now at version v0.12.0 2019-10-09 18:22:22 -07:00
Mike Swanson 383854430b automatically generate a GIMP-compatible palette file
Either `make gimp-palette` or `make doom.gpl` will convert the playpal
lump into a file that can be imported into GIMP for paletted image
modes.
2019-09-19 15:17:52 -07:00
Mike Swanson 096f3418a6 scripts makefile: add back leading "v" to hardcoded version string
This reverts the code changes from
2019-09-05T02:46:59Z!mikeonthecomputer@gmail.com.  Keeps the "v" from
appearing in file names, while still being a bit nice to see on the
title screen.
2019-09-17 16:36:00 -07:00
Mike Swanson 33d2d14cd2 Make: build manual PDF for install and dist targets
This is largely being kept optional due to asciidoctor-pdf’s failure
to actually work on Arch Linux, but if it runs fine, we get a nice PDF
manual!
2019-09-12 16:32:33 -07:00
Mike Swanson 6f6ac67dd5 Makefile: remove “deutex.log” from clean rules
DeuTex since 5.0 no longer generates such a file.
2019-09-12 15:54:30 -07:00
Mike Swanson 93dfdb33af Makefile: remove never-used "doc" target 2019-09-12 15:50:08 -07:00
Mike Swanson d7a0f45a1e make: install doc files to $prefix/share/doc
Makes unique directories for each IWAD target, which makes it easier
for distributions (like Arch and Debian) that package them separately.
2019-09-12 11:22:11 -07:00
Mike Swanson db2d48a8ce make: allow controlling asciidoc implementation via variables
ASCIIDOC and ASCIIDOC_MAN have been added, which default to the
(Python-based) reference implementation, but may be changed to
asciidoctor simply.

The manpages have been modified to use single-line section headings
for AsciiDoctor compatibility.
2019-09-12 11:22:11 -07:00
Mike Swanson a036e65567 Add project news file, backdate with releases 0.8 to present 2019-09-07 20:03:29 -07:00
Mike Swanson 8c97b73502 Makefile: use reverse-DNS to install desktop and metainfo files
Current Desktop Entry and AppStream standards recommend using
reverse-DNS for all relevant files under them.

Adds some more scaffolding targets for install/uninstall, but there
aren’t easy text transformations to the new names.
2019-09-07 11:27:21 -07:00
Mike Swanson 180a11807b Retire VERSION file, put value into Makefile 2019-09-04 19:46:59 -07:00
Mike Swanson eca25952ad make: use $(RM) for removing files
This is one of the built-in variables for Make and can increase
portability on different operating systems (eg, on Windows, the
built-in $(RM) may be defined as "del" instead of "rm -f").
2019-09-04 14:22:49 -07:00
Mike Swanson 96b28272a6 dist/Makefile: rewrite targets so they build only when sources change
Also includes a change to the top-level Makefile to accommodate new
target names.  Moved the installation variable settings close to the
install targets.
2019-09-04 14:06:17 -07:00
Mike Swanson a31450f5b9 Rename ULTDOOM/DOOM2 cpp defines to PHASE1/PHASE2
More self-consistent with out project, and those names dated before
Freedoom had a stronger identity.
2019-09-01 18:49:03 -07:00
Simon Howard 9f082e5ffa build: Remove wadinfo.txt.
We no longer build the freedoom.wad resource WAD so this is redundant.
(It was removed in bfb95753bd).
2019-09-01 21:10:14 -04:00
Mike Swanson 53b4133b20 move source dehacked to dedicated subdirectory 2019-09-01 17:53:55 -07:00
Mike Swanson 8e9ce31b70 dehacked: run through simplecpp, cheat replacements for Phase 1 only
Deduplicates effort from copying between multiple patch files, and we
now have unique outputs for each of our IWADs.

Having just "No Clipping 1 = idclip" proved to be troublesome with at
least prboom-plus, the engine running its cheat detecting twice and
becoming unable to activate no-clipping mode.  Worked around it by
also defining "No Clipping 2 = idspispopd", restoring that cheat's
functionality in most source ports and keeping both variants unique.
Chocolate Doom will only use the "idclip" version.
2019-09-01 17:39:58 -07:00
Steven Elliott 9f48b64f43 Add fix-map-names script and build targets
Add scripts/fix-map-names to fix and test map names. Map names are
tested with make target "test-map-names" and fixed with "fix-map-names".
2019-01-01 17:30:29 -08:00
Simon Howard d172ffd8ed build: Remove wadinfo-builder script.
The effect of this script should be a no-op and the script therefore
entirely redundant now that #487 and #489 have been merged. Fixes #485.
2017-09-07 20:17:44 -04:00
Steven Elliott 75099abb61 Improved wad2image top level directory determination. (#488) 2017-09-04 15:44:22 -04:00
Steven Elliott f0fba6eb53 Better help and error handling for wad2image. 2017-09-03 13:07:57 -07:00
Steven Elliott 2cb5f8fdbb Feedback on wad2image integration from PR #480. 2017-09-03 13:07:57 -07:00
Steven Elliott 42506bb4a0 Added targets, variables and help for wad2image integration. 2017-09-03 13:07:57 -07:00
Nick Zatkovich 09f39d4e64 BUILD: code cleanup, VERSION fix
Performed code cleanup, made changes to version number Make gets from
Git to make it consistent across git versions
2017-07-31 14:34:47 -07:00
Nick Zatkovich 215b7c644e BUILD: remove the last of the imagemagick stuff
The only remaining thing depending on imagemagick are the dist scripts
2017-07-30 23:26:52 -07:00
Nick Zatkovich d3038fad30 BUILD: remove background color from textgen
remove the background color when generating the text, 
then remove the extraneous deutex arguments
2017-07-30 14:08:17 -07:00
Nick Zatkovich 163fa96713 Fix makefile for deutex 5.0
-fullsnd is no longer a valid option
2017-07-17 05:08:37 -07:00
Mike Swanson c67e8a566a Introduce measures to start building Zips deterministically.
This at least lays some groundwork for doing so, by gathering archive
members by wildcard expansion rather than zip's -r parameter (which
uses file system order -- essentially random), combined with LC_ALL=C
so that locale sorting orders don't matter either.  zip's -X option is
also used so no Unix metadata (UIDs, GIDs, modes) are saved in the
archive.

To really complete the effect, faketime should be used to deal with
file timestamps.  Requiring faketime to do `make dist` seems too
extreme to me, so I'm leaving it out, but the general idea is to run a
command such as:

  faketime -f "$(TZ=UTC date -d "@$(git show -q --format=format:%ct)" \
                        "+%Y-%m-%d %H:%M:%S")"                        \
           make dist

This does also assume that zip's default compression algorithm never
changes (eg, from DEFLATE to BZip2 or LZMA), or never releases an
improved version (eg, a better DEFLATE).  It's not perfect, but this
should be good enough.
2017-02-22 11:44:50 -08:00
Mike Swanson 6996fd5c70 Makefile: Simply install rules.
We don’t need to use install to create directories separately.
The command can create them and install files at the same time.
2017-02-20 20:59:28 -08:00
Mike Swanson 80cbab8c84 Include *.txt and DOS-format COPYING and CREDITS files in zips.
This makes it far easier to open the files correctly in Windows
Notepad.
2017-02-19 11:43:04 -08:00
Mike Swanson cc9d5f9bdc Makefile: Remove silly comment.
This was demonstrating an intent to make the Makefile more
dynamic with regard to IWAD targets and installation targets.
When/if the time comes that Freedoom changes what IWADs it builds,
we can just simply edit this section too.
2017-02-15 17:08:13 -08:00
Mike Swanson 8835afef5f Copyright date bump and apply SPDX tags.
The tags are shorthand for the license of each file and avoid
copying the full license text into each one (and avoids having
to manually update the dates in each one...).
2017-02-15 16:41:53 -08:00
Mike Swanson b841310de8 Makefile: Use “--dirty” for git describe. 2017-02-08 16:33:19 -08:00
Alexandre Detiste 6bb5b276f9 make the build reproducible
https://wiki.debian.org/ReproducibleBuilds/TimestampsInDocumentationGeneratedByAsciidoc
2016-03-06 09:30:30 +01:00
Simon Howard 103cd74f4e lumps: Split out cph/misc-lumps.
This eliminates another author-name directory. PLAYPAL and COLORMAP
generation are separate operations that are really only very vaguely
related to one another. Move these into separate, logically-named
directories.

As part of this we eliminate the symlinks for the PLAYPAL and various
colormap lump files, and instead copy these into the parent directory
for use by deutex. This brings further progress on #202.
2015-12-24 11:12:31 +01:00
RjY f6ea500080 bootstrap: hook into build system
- add bootstrap/Makefile to generate/cleanup bootstrap/doom2.wad
- call bootstrap/Makefile from main Makefile as appropriate
- delete bootstrap/doom2.wad, add bootstrap/.gitignore
2015-12-03 21:22:42 +00:00
Mike Swanson 9b84cdebf0 Another year, another copyright date bump :) 2015-04-29 14:53:21 -07:00