Makefileは、オープナーの下のすべての項目をタブインデントしたくない人のための代替手段です。

Makefileは、オープナーの下のすべての項目をタブインデントしたくない人のための代替手段です。

make私のmakeプログラム(または同様のプログラム)makeでタブインデントを使用したくない場合は、GNUの代替案はありますか?

たとえば、を使用するときは、開始文字()の後にあるすべての項目をインデントするmake必要があります。以下は、場合によってはいくつかの問題を解決する方法です。たとえば、私はクロスプラットフォームで作業し、いくつかの理由でLinuxターミナルに貼り付けたコードからタブを削除するWindows10 AutoHotkeyメカニズムを使用することに合格しません。そのため、ソリューションを含むタブではないことが必要です)。make% :make

タブですべての項目をインデントすると、% :操作がmake遅くなります。

これはmake、新しい仮想ホストの作成に使用する構成ファイルです。次のコマンドで実行しますmake domain.tld.conf

% :
    printf '%s\n' \
    '<VirtualHost *:80>' \
    'DocumentRoot "/var/www/html/$@"' \
    'ServerName $@' \
    '<Directory "/var/www/html/$@">' \
    'Options +SymLinksIfOwnerMatch' \
    'Require all granted' \
    '</Directory>' \
    'ServerAlias www.$@' \
    '</VirtualHost>' \
    > "$@"
    a2ensite "$@"
    systemctl restart apache2.service

同様の機能を提供しますが、パターンファイル自体でタブインデントを使用せずにUnix自体に提供される他のオプションはありますか?

ベストアンサー1

GNUブランド.RECIPEPREFIX変える(ノート:いいえ特殊ターゲット)を使用して、レシピラインをトリガーする文字を変更できます。

たとえば、

.RECIPEPREFIX=>
%:
>printf '%s\n' \
>'<VirtualHost *:80>' \
>'DocumentRoot "/var/www/html/$@"' \
>'ServerName $@' \
>'<Directory "/var/www/html/$@">' \
>'Options +SymLinksIfOwnerMatch' \
>'Require all granted' \
>'</Directory>' \
>'ServerAlias www.$@' \
>'</VirtualHost>' \
>> "$@"
>a2ensite "$@"
>systemctl restart apache2.service

おすすめ記事