-
Notifications
You must be signed in to change notification settings - Fork 1
/
GNUmakefile
56 lines (45 loc) · 1.6 KB
/
GNUmakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#
# Copyright (C) 2024 Simon Howard
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version. This program is distributed in the hope that
# it will be useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
export SDL_VIDEODRIVER = dummy
SOURCE_PORT_NAME = chocolate-doom
SOURCE_PORT := $(shell which $(SOURCE_PORT_NAME) || echo missing_source_port)
DOOMOPTS = -mb 16 -nodraw -noblit -nosound \
-noautoload -nogui -nograbmouse -nofullscreen
ALL_DEMOS = $(patsubst %,demos/%,$(shell cat demos.txt))
OUTPUTS = $(subst .lmp,.txt,$(subst demos/,output/,$(ALL_DEMOS)))
UNZIPOPTS = -L -o
check: expected output
diff -x .gitignore -u -r expected output
@echo all tests passed
output: $(OUTPUTS)
missing_source_port:
@echo "Failed to find" $(SOURCE_PORT_NAME) "in PATH."
@echo "To specify the path explicitly:"
@echo " make SOURCE_PORT=/path/to/$(SOURCE_PORT_NAME)"
@echo "Or to search for a different source port:"
@echo " make SOURCE_PORT_NAME=lemon-doom"
@false
.rules: makerules
./makerules $@
extract/%:
unzip $(UNZIPOPTS) -d extract $< $(notdir $@)
@touch $@
extract/requiem.wad: pwads/requiem.zip
extract/mm2.wad: pwads/mm2.zip
extract/mm.wad: pwads/mm_allup.zip
extract/hr.wad: pwads/hr.zip
extract/av.wad: pwads/av_new.zip
extract/class_ep.wad: pwads/class_ep.zip
clean:
rm -f extract/*.wad
rm -rf output/*
rm -f .rules
include .rules