dire si il s'est exécuté sur windows ou linux

Est-il un moyen de savoir dans les fichiers makefile si GNU make est en cours d'exécution sur un système d'exploitation linux ou windows OS?

J'ai construit un script bash qui génère un makefile pour la construction de mon application et il fonctionne très bien sur ma machine Debian. Je veux essayer de construire sur MinGW/MSYS, mais le problème est que je dois construire et exécuter des programmes de test que l'enregistrement des erreurs dans le code source, et de le faire fonctionner sur Windows, il faut ajouter .exe suffixe.

Il est Temps d'utiliser Maven. Il est indépendant de la plateforme.
Pour contourner ce problème, vous pouvez simplement inclure la .exe suffixe tous plates-formes Linux ne m'en voudrez pas si c'est là, aussi longtemps que vous vous souvenez de l'inclure lors de l'exécution du programme.
C'est un double de la stackoverflow.com/questions/714100/os-detecting-makefile
En désaccord que c'est un doublon. J'ai cherché pour cette question spécifique sur .exe sur différents Systèmes d'exploitation, mais Google a montré tout d'abord la question que vous l'avez mentionné, qui n'avait pas de réponse directe, seulement une collection de différentes techniques pour identifier un OS, pas précisément comment vous pouvez ajouter un ".exe" extension de fichier uniquement pour les plates-formes qui l'utilisent. Les autres techniques peuvent permettre une plus large gamme de plus générique des solutions à des problèmes similaires, mais ce n'est pas le même comme un double de répondre ou même de demander à cette question spécifique.

OriginalL'auteur Gianni Pisetta | 2011-10-24