UNIX est traditionnellement peu tolérant pour les programmes. Cette attitude n'a pas beaucoup changé depuis sa création. ^M
est le retour de chariot qui généralement n'obtient dans les fichiers lors de leur modification dans les environnements Windows. UNIX utilise le saut de ligne (\ n, 0x0a) comme terminateur de ligne et de nombreux outils se plaignent de CR (\ r, 0x0d) car ils ne voient pas pourquoi ce caractère devrait même exister.
$
sont un problème différent, car $
fait partie de la syntaxe de makefile. Il est utilisé pour indiquer les variables/constantes dans les fichiers makefile. Ceux-ci peuvent être contextuels, comme $<
ou $*
, ou des noms comme $(CC)
.
Vous pouvez utiliser l'utilitaire dos2unix
pour se débarrasser de ^M
et d'échapper à des signes dollar avec \$
.
Il y a plus de particularités à faire, néanmoins. Par exemple l'exigence que les lignes de commande pour les cibles doivent être indentées par un caractère de tabulation. Pour autant que je sache, seuls les make
peu utilisés ont levé cette restriction.
Je ne vois pas quelle serait une réponse satisfaisante, et donc je ne pense pas que ce soit une vraie question. Extrêmement vague, et la réponse est quelque chose comme "parce que c'est ce qui fait". –
@goldenmean: les appels personnalisés locaux pour laisser la formule de réservation en mémoire pour économiser de l'espace sur la première page, et votre paternité est automatiquement affichée, de sorte que la signature est également inutile. – dmckee