СУХОЙ, когда цели могут быть собраны из разных расширений исходного файла - PullRequest
0 голосов
/ 15 февраля 2019

Я создаю файлы .js из файлов .ts и .tsx.Они построены точно так же, и в идеале я не хочу повторять правила.Прямо сейчас, работает следующее:

$(out)/%.js: %.ts
    @mkdir --parents $(@D)
    BABEL_ENV=node babel $(<) --out-file $(@) --source-maps

$(out)/%.js: %.tsx
    @mkdir --parents $(@D)
    BABEL_ENV=node babel $(<) --out-file $(@) --source-maps

Есть ли способ заставить make искать или .ts или .tsx в списке предварительных требований?

1 Ответ

0 голосов
/ 15 февраля 2019

Нет, сделать это невозможно.

Вы можете немного уменьшить количество повторений, поместив рецепт в переменную:

define BUILD_JS
@mkdir --parents $(@D)
BABEL_ENV=node babel $(<) --out-file $(@) --source-maps
endif

$(out)/%.js: %.ts
        $(BUILD_JS)

$(out)/%.js: %.tsx
        $(BUILD_JS)
...