Files
nethack/dat/luahelper
2024-12-21 01:15:54 -05:00

99 lines
2.8 KiB
Plaintext

# NetHack 3.7 luahelper $NHDT-Date: $ $NHDT-Branch: NetHack-3.7 $
#
# Makefile to assist developers in adding lines to various build
# Makefiles, or project files, as lua files are added or removed.
# NetHack may be freely redistributed. See license for details.
#
# Must be run while your current directory is the top of the
# NetHack source tree.
#
# make -f dat/luahelper [target]
#
# Target examples:
#
# Visual Studio nmake : make -f dat/luahelper devhelp-nmake >file.txt
#
# Visual Studio project: make -f dat/luahelper devhelp-vstudio >file.txt
#
# MSYS2 GNUmakefile : make -f dat/luahelper devhelp-msys >file.txt
#
# Xcode project.pbxproj: make -f dat/luahelper devhelp-xcode >file.txt
#
#
luanames = asmodeus baalz bigrm-* castle fakewiz? juiblex knox medusa-? \
minend-? minefill minetn-? oracle orcus sanctum soko?-? tower? \
valley wizard? nhcore nhlib themerms astral air earth fire water \
hellfill tut-? ???-goal ???-fil? ???-loca ???-strt \
dungeon quest
alllua = $(wildcard $(addsuffix .lua,$(addprefix dat/, $(luanames))))
#
# generates lines to insert into
# sys/windows/Makefile.nmake
#
devhelp-nmake:
@echo "$(notdir $(alllua))" | \
awk '{for (i=1; i<=NF; ++i)printf "%s%s%s%s", \
i == 1? "ALL_LUA_FILES = " : "", \
"$$(DAT)\\", \
$$i, \
i % 3? " ": ((i == NF)? "\n" : " \\\n\t")} \
i % 3{print ""}'
@echo ""
#
# generates lines to insert into
# sys/windows/GNUmakefile
#
devhelp-msys2:
@echo "$(basename $(notdir $(alllua)))" | \
awk '{for (i=1; i<=NF; ++i)printf "%s%s%s", \
i == 1? "LUALIST = " : "", \
$$i, \
i % 5? " ": ((i == NF)? "\n" : " \\\n\t")} \
i % 5{print ""}'
@echo ""
xcodeextra = bogusmon cmdhelp data engrave epitaph help hh \
history keyhelp opthelp optmenu options oracles \
rumors tribute wizhelp
#
# generates lines to insert into
# sys/unix/NetHack.xcodeproj/project.pbxproj
#
devhelp-xcode:
@echo "\t\t\tinputPaths = ("
@echo "$(xcodeextra) $(notdir $(alllua))" | \
awk '{for (i=1; i<=NF; ++i)printf "%s%s%s%s%s", \
i == 1? "\t" : "", \
"\t\t\t\042$$(NH_DAT_DIR)/", \
$$i, \
"\042", \
i % 1? " ": ((i == NF)? "\n" : ",\n\t")} \
i % 1{print ""}'
@echo "\t\t\t);"
#
# generates lines to insert into
# sys/windows/vs/files.props
#
devhelp-vstudio:
@echo " <ItemGroup>"
@echo "$(notdir $(alllua))" | \
awk '{for (i=1; i<=NF; ++i)printf "%s%s%s%s%s", \
i == 1? " " : "", \
"<Luafiles Include = \042", \
$$i, \
"\042/>", \
i % 1? " ": ((i == NF)? "\n" : "\n ")} \
i % 1{print ""}'
@echo " </ItemGroup>"
all:
make -f dat/luahelper devhelp-nmake >./luahelp-nmake.txt
make -f dat/luahelper devhelp-msys2 >./luahelp-msys2.txt
make -f dat/luahelper devhelp-xcode >./luahelp-xcode.txt
make -f dat/luahelper devhelp-vstudio >./luahelp-vstudio.txt
# end