Сочетание VBScript и GNU make необычно, поэтому я сомневаюсь, что вы найдете «предпочтительный способ» сделать это.Это конечно возможно.Возьмем ваш пример и добавим еще один скрипт с именем fooServer.vbs
, чтобы показать, как работает решение для нескольких скриптов, вот простой make-файл:
# list all possible outputs here
OUTPUT := queryServer.vbs fooServer.vbs
# tell make that the default action should be to produce all outputs
.PHONY: all
all: $(OUTPUT)
# generic recipe for combining scripts together
$(OUTPUT):
cat $+ > $@
# note: The first character on the line above should be a tab, not a space
# now we describe the inputs for each output file
queryServer.vbs: baseScript.vbs queryServerFunctions.vbs
fooServer.vbs: baseScript.vbs fooFunctions.vbs
, который создаст для вас два скрипта из их входных данных, и есливы касаетесь, например, queryServerFunctions.vbs
, тогда только queryServer.vbs
будет переделано.
Зачем все эти неприятности, хотя?
Цель make
состоит в том, чтобы "восстановить" вещиэффективно сравнивая временные метки файлов, чтобы определить, можно ли безопасно пропустить этап сборки, поскольку входные данные не изменились с момента последнего обновления выходного файла.Предполагается, что этапы сборки являются дорогостоящими, поэтому стоит их пропустить, где это возможно, а выигрыш в производительности стоит того, чтобы пропустить слишком много из-за ошибок в make-файле или вводящих в заблуждение временных меток файла.
Для копирования несколькихмаленькие файлы вокруг, я бы сказал, простой пакетный файл, такой как
copy /y baseScript.vbs+queryServerFunctions.vbs queryServer.vbs
copy /y baseScript.vbs+fooServerFunctions.vbs fooServer.vbs
, будет лучше.