2014-09-18 11:51:03 -07:00
|
|
|
# Copyright (c) 2001-2014
|
2008-12-17 19:00:48 -08:00
|
|
|
# Contributors to the Freedoom project. All rights reserved.
|
|
|
|
#
|
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
|
|
# modification, are permitted provided that the following conditions are
|
|
|
|
# met:
|
|
|
|
#
|
|
|
|
# * Redistributions of source code must retain the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer.
|
|
|
|
# * Redistributions in binary form must reproduce the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
|
|
# documentation and/or other materials provided with the distribution.
|
|
|
|
# * Neither the name of the freedoom project nor the names of its
|
|
|
|
# contributors may be used to endorse or promote products derived from
|
|
|
|
# this software without specific prior written permission.
|
|
|
|
#
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
|
|
|
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
|
|
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
|
|
|
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
|
|
|
|
# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
|
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
|
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
|
|
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
|
|
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
|
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
2006-05-09 09:20:42 -07:00
|
|
|
|
2014-01-22 19:32:25 -08:00
|
|
|
VERSION=$(shell git describe 2>/dev/null || cat VERSION)
|
2006-06-16 02:05:44 -07:00
|
|
|
WADS=wads
|
2008-12-22 11:01:21 -08:00
|
|
|
CPP=scripts/simplecpp
|
2006-05-09 09:54:05 -07:00
|
|
|
DEUTEX=deutex
|
2008-12-26 09:47:14 -08:00
|
|
|
DEUTEX_BASIC_ARGS=-v0 -fullsnd -rate accept -rgb 0 255 255
|
2006-05-09 09:20:42 -07:00
|
|
|
DEUTEX_ARGS=$(DEUTEX_BASIC_ARGS) -doom2 bootstrap/
|
|
|
|
|
The Great IWAD Renaming: unique file names for Freedoom
After some discussion and consensus[1], Freedoom's IWADs are now
uniquely named independently of Doom's file names:
* freedoom1.wad: Phase 1
* freedoom2.wad: Phase 2
The original intention was that Freedoom would be a complete drop-in
replacement for Doom, so that you can just use Freedoom's doom2.wad
rather than id Software's. What has happened, however, is that people
often desire to have Freedoom installed alongside Doom, and try to
uniquely identify it via filenames for multiplayer servers. This has
resulted in lengthy lists of unofficial IWAD file names implemented by
many engines to locate Freedoom, combined with gamers' personal
opinions on just how they should be renamed.
Even the Debian project, normally not one to modify upstream sources
so drastically, has been renaming our doom2.wad to freedoom.wad,
presumably so that Doom II can be installed simultaneously with
game-data-packager.
Given a free software engine, we can instead standardize on unique
names apart from Doom and get the majority of engines in use changed
over to these ones; users with engines that don't recognize the names
can instead use the near-universal -iwad command-line parameter, or
rename the files back to doom.wad or doom2.wad as needed.
[1] http://www.doomworld.com/vb/freedoom/66856-bikeshedding-renaming-freedooms-iwads/
2014-01-11 20:21:51 -08:00
|
|
|
FREEDOOM1=$(WADS)/freedoom1.wad
|
|
|
|
FREEDOOM2=$(WADS)/freedoom2.wad
|
2014-01-07 17:45:41 -08:00
|
|
|
FREEDM=$(WADS)/freedm.wad
|
|
|
|
|
|
|
|
OBJS=$(FREEDM) $(FREEDOOM1) $(FREEDOOM2)
|
2006-05-09 09:20:42 -07:00
|
|
|
|
2014-01-06 22:34:47 -08:00
|
|
|
all: $(OBJS)
|
2006-05-09 09:20:42 -07:00
|
|
|
|
|
|
|
subdirs:
|
2014-01-15 22:30:15 -08:00
|
|
|
$(MAKE) -C graphics/text
|
2014-01-22 19:32:25 -08:00
|
|
|
$(MAKE) VERSION=$(VERSION) -C graphics/titlepic
|
2014-01-15 22:30:15 -08:00
|
|
|
$(MAKE) -C lumps/cph/misc-lumps
|
|
|
|
$(MAKE) -C lumps/genmidi
|
|
|
|
$(MAKE) -C lumps/dmxgus
|
|
|
|
$(MAKE) -C lumps/textures
|
|
|
|
|
2006-05-09 09:20:42 -07:00
|
|
|
|
|
|
|
# this is a useless dependency to force builds
|
|
|
|
|
|
|
|
force:
|
|
|
|
|
2014-01-15 22:30:15 -08:00
|
|
|
lumps/freedoom.lmp lumps/freedm.lmp: force
|
|
|
|
echo $(VERSION) > $@
|
|
|
|
|
2006-05-09 09:20:42 -07:00
|
|
|
# update wadinfo.txt
|
|
|
|
|
2014-01-21 21:02:29 -08:00
|
|
|
wadinfo.txt: buildcfg.txt subdirs lumps/freedoom.lmp
|
2008-12-24 10:50:30 -08:00
|
|
|
$(CPP) -P -DDOOM2 < $< | scripts/wadinfo-builder.py > $@
|
2014-01-21 21:02:29 -08:00
|
|
|
wadinfo_phase1.txt: buildcfg.txt subdirs lumps/freedoom.lmp
|
2008-12-24 10:50:30 -08:00
|
|
|
$(CPP) -P -DDOOM1 -DULTDOOM < $< | scripts/wadinfo-builder.py -dummy > $@
|
2014-01-21 21:02:29 -08:00
|
|
|
wadinfo_phase2.txt: buildcfg.txt subdirs lumps/freedoom.lmp
|
The Great IWAD Renaming: unique file names for Freedoom
After some discussion and consensus[1], Freedoom's IWADs are now
uniquely named independently of Doom's file names:
* freedoom1.wad: Phase 1
* freedoom2.wad: Phase 2
The original intention was that Freedoom would be a complete drop-in
replacement for Doom, so that you can just use Freedoom's doom2.wad
rather than id Software's. What has happened, however, is that people
often desire to have Freedoom installed alongside Doom, and try to
uniquely identify it via filenames for multiplayer servers. This has
resulted in lengthy lists of unofficial IWAD file names implemented by
many engines to locate Freedoom, combined with gamers' personal
opinions on just how they should be renamed.
Even the Debian project, normally not one to modify upstream sources
so drastically, has been renaming our doom2.wad to freedoom.wad,
presumably so that Doom II can be installed simultaneously with
game-data-packager.
Given a free software engine, we can instead standardize on unique
names apart from Doom and get the majority of engines in use changed
over to these ones; users with engines that don't recognize the names
can instead use the near-universal -iwad command-line parameter, or
rename the files back to doom.wad or doom2.wad as needed.
[1] http://www.doomworld.com/vb/freedoom/66856-bikeshedding-renaming-freedooms-iwads/
2014-01-11 20:21:51 -08:00
|
|
|
$(CPP) -P -DDOOM2 < $< | scripts/wadinfo-builder.py -dummy > $@
|
2014-01-21 21:02:29 -08:00
|
|
|
wadinfo_freedm.txt : buildcfg.txt subdirs lumps/freedoom.lmp lumps/freedm.lmp
|
2008-12-24 10:50:30 -08:00
|
|
|
$(CPP) -P -DFREEDM < $< | scripts/wadinfo-builder.py -dummy > $@
|
2006-05-09 09:20:42 -07:00
|
|
|
|
|
|
|
%.wad.gz: %.wad
|
|
|
|
gzip < $< > $@
|
|
|
|
chmod o-r $<
|
|
|
|
md5sum $<.gz > $<.md5sum
|
|
|
|
rm -f $<
|
|
|
|
|
2011-04-10 02:07:34 -07:00
|
|
|
# deutex doesnt allow redirects for the filenames in the texture
|
|
|
|
# entries, so we have to change the texture1 symlink to point
|
|
|
|
# to whichever wad we are working on
|
|
|
|
|
2006-06-03 16:18:12 -07:00
|
|
|
#---------------------------------------------------------
|
|
|
|
# freedm iwad
|
|
|
|
|
2014-01-21 21:02:29 -08:00
|
|
|
$(FREEDM): wadinfo_freedm.txt subdirs
|
2014-01-06 21:51:17 -08:00
|
|
|
@mkdir -p $(WADS)
|
2006-06-03 16:18:12 -07:00
|
|
|
rm -f $@
|
|
|
|
$(DEUTEX) $(DEUTEX_ARGS) -iwad -build wadinfo_freedm.txt $@
|
|
|
|
|
2006-05-09 09:20:42 -07:00
|
|
|
#---------------------------------------------------------
|
The Great IWAD Renaming: unique file names for Freedoom
After some discussion and consensus[1], Freedoom's IWADs are now
uniquely named independently of Doom's file names:
* freedoom1.wad: Phase 1
* freedoom2.wad: Phase 2
The original intention was that Freedoom would be a complete drop-in
replacement for Doom, so that you can just use Freedoom's doom2.wad
rather than id Software's. What has happened, however, is that people
often desire to have Freedoom installed alongside Doom, and try to
uniquely identify it via filenames for multiplayer servers. This has
resulted in lengthy lists of unofficial IWAD file names implemented by
many engines to locate Freedoom, combined with gamers' personal
opinions on just how they should be renamed.
Even the Debian project, normally not one to modify upstream sources
so drastically, has been renaming our doom2.wad to freedoom.wad,
presumably so that Doom II can be installed simultaneously with
game-data-packager.
Given a free software engine, we can instead standardize on unique
names apart from Doom and get the majority of engines in use changed
over to these ones; users with engines that don't recognize the names
can instead use the near-universal -iwad command-line parameter, or
rename the files back to doom.wad or doom2.wad as needed.
[1] http://www.doomworld.com/vb/freedoom/66856-bikeshedding-renaming-freedooms-iwads/
2014-01-11 20:21:51 -08:00
|
|
|
# phase 1 (udoom) iwad
|
2006-05-09 09:20:42 -07:00
|
|
|
|
2014-01-21 21:02:29 -08:00
|
|
|
$(FREEDOOM1): wadinfo_phase1.txt subdirs
|
2014-01-06 21:51:17 -08:00
|
|
|
@mkdir -p $(WADS)
|
2006-05-09 09:20:42 -07:00
|
|
|
rm -f $@
|
2014-01-15 20:18:22 -08:00
|
|
|
$(DEUTEX) $(DEUTEX_ARGS) -iwad -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_phase1.txt $@
|
2006-05-09 09:20:42 -07:00
|
|
|
|
2008-12-21 13:52:46 -08:00
|
|
|
#---------------------------------------------------------
|
The Great IWAD Renaming: unique file names for Freedoom
After some discussion and consensus[1], Freedoom's IWADs are now
uniquely named independently of Doom's file names:
* freedoom1.wad: Phase 1
* freedoom2.wad: Phase 2
The original intention was that Freedoom would be a complete drop-in
replacement for Doom, so that you can just use Freedoom's doom2.wad
rather than id Software's. What has happened, however, is that people
often desire to have Freedoom installed alongside Doom, and try to
uniquely identify it via filenames for multiplayer servers. This has
resulted in lengthy lists of unofficial IWAD file names implemented by
many engines to locate Freedoom, combined with gamers' personal
opinions on just how they should be renamed.
Even the Debian project, normally not one to modify upstream sources
so drastically, has been renaming our doom2.wad to freedoom.wad,
presumably so that Doom II can be installed simultaneously with
game-data-packager.
Given a free software engine, we can instead standardize on unique
names apart from Doom and get the majority of engines in use changed
over to these ones; users with engines that don't recognize the names
can instead use the near-universal -iwad command-line parameter, or
rename the files back to doom.wad or doom2.wad as needed.
[1] http://www.doomworld.com/vb/freedoom/66856-bikeshedding-renaming-freedooms-iwads/
2014-01-11 20:21:51 -08:00
|
|
|
# phase 2 (doom2) iwad
|
2008-12-21 13:52:46 -08:00
|
|
|
|
2014-01-21 21:02:29 -08:00
|
|
|
$(FREEDOOM2): wadinfo_phase2.txt subdirs
|
2014-01-06 21:51:17 -08:00
|
|
|
@mkdir -p $(WADS)
|
2008-12-21 13:52:46 -08:00
|
|
|
rm -f $@
|
2014-01-15 20:18:22 -08:00
|
|
|
$(DEUTEX) $(DEUTEX_ARGS) -iwad -lumps -patch -flats -sounds -musics -graphics -sprites -levels -build wadinfo_phase2.txt $@
|
2008-12-21 13:52:46 -08:00
|
|
|
|
2014-05-02 18:42:19 -07:00
|
|
|
doc: BUILD-SYSTEM.adoc README.adoc
|
|
|
|
asciidoc BUILD-SYSTEM.adoc
|
|
|
|
asciidoc README.adoc
|
2009-07-30 15:05:56 -07:00
|
|
|
|
2014-01-07 17:45:41 -08:00
|
|
|
DISTDOCS=COPYING CREDITS README.html
|
|
|
|
|
|
|
|
# Due to convoluted reasons, the WADs must directly proceed the game name.
|
2013-12-31 01:51:20 -08:00
|
|
|
dist: $(OBJS) doc
|
2014-01-07 17:45:41 -08:00
|
|
|
VERSION=$(VERSION) scripts/makepkgs freedm $(FREEDM) $(DISTDOCS)
|
|
|
|
VERSION=$(VERSION) scripts/makepkgs freedoom $(FREEDOOM1) $(FREEDOOM2) $(DISTDOCS)
|
2013-12-31 01:51:20 -08:00
|
|
|
|
2006-06-12 13:36:32 -07:00
|
|
|
clean:
|
2009-07-30 15:05:56 -07:00
|
|
|
rm -f *.html deutex.log $(OBJS) \
|
The Great IWAD Renaming: unique file names for Freedoom
After some discussion and consensus[1], Freedoom's IWADs are now
uniquely named independently of Doom's file names:
* freedoom1.wad: Phase 1
* freedoom2.wad: Phase 2
The original intention was that Freedoom would be a complete drop-in
replacement for Doom, so that you can just use Freedoom's doom2.wad
rather than id Software's. What has happened, however, is that people
often desire to have Freedoom installed alongside Doom, and try to
uniquely identify it via filenames for multiplayer servers. This has
resulted in lengthy lists of unofficial IWAD file names implemented by
many engines to locate Freedoom, combined with gamers' personal
opinions on just how they should be renamed.
Even the Debian project, normally not one to modify upstream sources
so drastically, has been renaming our doom2.wad to freedoom.wad,
presumably so that Doom II can be installed simultaneously with
game-data-packager.
Given a free software engine, we can instead standardize on unique
names apart from Doom and get the majority of engines in use changed
over to these ones; users with engines that don't recognize the names
can instead use the near-universal -iwad command-line parameter, or
rename the files back to doom.wad or doom2.wad as needed.
[1] http://www.doomworld.com/vb/freedoom/66856-bikeshedding-renaming-freedooms-iwads/
2014-01-11 20:21:51 -08:00
|
|
|
./wadinfo.txt ./wadinfo_phase1.txt \
|
|
|
|
./wadinfo_phase2.txt ./wadinfo_freedm.txt \
|
2010-09-15 13:55:03 -07:00
|
|
|
./lumps/freedoom.lmp \
|
2014-01-16 19:59:52 -08:00
|
|
|
./lumps/freedm.lmp
|
2014-01-15 20:18:22 -08:00
|
|
|
-rmdir $(WADS)
|
2006-09-02 09:38:29 -07:00
|
|
|
|
2014-01-15 22:30:15 -08:00
|
|
|
$(MAKE) -C graphics/text clean
|
|
|
|
$(MAKE) -C graphics/titlepic clean
|
|
|
|
$(MAKE) -C lumps/cph/misc-lumps clean
|
|
|
|
$(MAKE) -C lumps/genmidi clean
|
|
|
|
$(MAKE) -C lumps/dmxgus clean
|
|
|
|
$(MAKE) -C lumps/textures clean
|
|
|
|
|