Is there a GNU make alternative if don't want to use tab indents in my make program (or make-like) program?For example, when I use make, I need to indent everything after the make opener, (% :). This is a recipe for some problems in some circumstances (for example, I work cross-platform and I use a Windows10 AutoHotkey mechanism that strips tabs from codes I paste into Linux terminals from different reasons and it doesn't pass over make hence I need a non tab including solution).The necessity to tab-indent everything under % : makes my work with make non fluent.This is the make I use to create new virtual host conf files. I execute it with 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.serviceIs there any alternative, maybe something that comes with Unix itself that provides similar functionality but without having to use tab indents in the pattern file itself?
Makefile alternative for those who don't want tab indenting all content under the opener
make;vhost
If thats your whole Makefile, and youre not tracking any dependencies between files, just use a shell script:#!/bin/shfor domain; do> /etc/apache2/sites-available/${domain}.conf cat <<EOF<VirtualHost *:80>DocumentRoot /var/www/html/${domain}ServerName ${domain}<Directory /var/www/html/${domain}>Options +SymLinksIfOwnerMatchRequire all granted</Directory>ServerAlias www.${domain}</VirtualHost>EOFa2ensite ${domain}donesystemctl restart apache2.serviceCopy the above into a file named for example create-vhost, make it executable:chmod 755 create-vhostthen run it as./create-vhost domain.tldThis even supports creating multiple virtual hosts configuration files (with a single restart at the end):./create-vhost domain1.tld domain2.tld