vrtc / honeydew (public) (License: CC0) (since 2023-12-20) (hash sha1)
Warcraft 3: The Frozen Throne 1.27 custom scenario.

/makefile (a01629b5853b42af2b4857e7ff0b29c47744ca5b) (2209 bytes) (mode 100644) (type blob)

.POSIX:
# Allow file paths and not just file names.
.PRAGMA: target_name

NAME=honeydew
VERSION=0.1.3WIP
CLASSIFIER=1.27
LANG=en

NAMEFULL=$(NAME)_$(VERSION)_$(CLASSIFIER)_$(LANG)
NAMEASSEMBLY=$(NAME)_$(VERSION)_project

SHELL=/bin/sh

srcdir=./

GIT=git
GITFLAGS=--git-dir=${srcdir}/.git/

GPG=gpg
SMPQ=smpq

M4=m4
M4FLAGS=-I "$(srcdir)" -E

PJASS=pjass
PJASSFLAGS="$(srcdir)/etc/common.j" "$(srcdir)/etc/Blizzard.j" -rb +filter +shadow +checkglobalsinit +checkstringhash
SNIPPETS=$(wildcard $(srcdir)/src/*.j)

# TODO add configurable map path for testing
datadir=Maps/

WAR3EXE=Frozen\ Throne.exe

include $(srcdir)/src/src.mk

all: check $(NAME).w3x war3map.j

$(NAME).w3x: war3map.j
	test ! -f $@ && cp $(srcdir)/$(NAME).w3x $@
	$(SMPQ) --append --overwrite "$@" war3map.j && \
	$(SMPQ) --list "$@"

dist: $(NAME).w3x $(NAMEASSEMBLY).zip $(NAMEASSEMBLY).zip.sig

install: $(NAME).w3x
	cp $(NAME).w3x $(DESTDIR)/$(datadir)/$(NAME).w3x

check: war3map.j
	$(PJASS) $(PJASSFLAGS) war3map.j

tags:
	ctags --recurse ${srcdir}

# All `m4` sources must be loaded before all `Jass` sources.
# Source file `jass_globals.m4` must be loaded after all other `m4` sources and
# before all `Jass` sources.
war3map.j: $(srcdir)/src/jass_module.m4 $(srcdir)/src/jass_globals.m4 $(SNIPPETS) $(TESTS)
	$(PJASS) $(PJASSFLAGS) $(SNIPPETS) $(TESTS)
	$(M4) $(M4FLAGS) $(srcdir)/src/jass_module.m4 $(srcdir)/src/jass_globals.m4 $(SNIPPETS) $(TESTS) > $@
	$(PJASS) $(PJASSFLAGS) $@

$(NAMEASSEMBLY).zip:
	$(GIT) $(GITFLAGS) archive --format zip --output "$@" --prefix "$(NAME)-$(VERSION)/" HEAD

$(NAMEASSEMBLY).zip.sig: $(NAMEASSEMBLY).zip
	$(GPG) --detach-sign --yes --output $@ $(NAMEASSEMBLY).zip

clean:
	$(GIT) clean -i -x

distclean:
	$(GIT) clean -i -x "$(srcdir)"

# Path to the map relative to data directory (game installation directory in
# almost every case). Must be given exact file name. Wildcards or tokens will
# not be expanded.
#
# A valid path looks like this "Maps/Test/WorldEditTestMap.w3x". It is always relative to the
# game installation directory.
#
run: all
	test ! -f ${DESTDIR}/${datadir}/${NAME}.w3x && cp $(NAME).w3x ${DESTDIR}/${datadir}/${NAME}.w3x
	$(WAR3EXE) -loadfile "${datadir}${NAME}.w3x"


Mode Type Size Ref File
100644 blob 96 a3f69657555397674d0b680077f46b72291d56ec .gitignore
100644 blob 77 b8691bde4ff7ef827f11499ad8fef50d75a74a8a AUTHORS.txt
100644 blob 7048 0e259d42c996742e9e3cba14c677129b2c1b6311 COPYING.txt
100644 blob 1659 6672e4be34ff1ced0d2062b4845ff6eb900845af README.adoc
040000 tree - 493af5160436d5f3e51e1810efadcbe51f971077 doc
040000 tree - f9ee6be2d61f77fcd63b8eceddeb0bd26ab1df5b etc
100644 blob 53108 db4336629e052b88dac9920719feb1f2e6473ad5 honeydew.w3x
100644 blob 2209 a01629b5853b42af2b4857e7ff0b29c47744ca5b makefile
040000 tree - 0ca939c1ef21de4b6717cb3a723ab8932f9010eb src
040000 tree - 5a62bf7f4923b6938f8cc717e4e79fd865e02a55 test
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/vrtc/honeydew

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/vrtc/honeydew

Clone this repository using git:
git clone git://git.rocketgit.com/user/vrtc/honeydew

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main