2017-03-21 1 views
0

Je crée un fichier makefile que je veux travailler dans Linux et Windows qui crée une variable définie avec mon numéro de build SVN que je voudrais utiliser dans mon code. (Note: Je ne veux pas la version de construction codée en dur dans le makefile, mais je veux la version rassemblai au moment où je construis mon projet)

j'ai découvert comment faire sous Linux avec 'BUILDVERSION="$(shell svnversion)"'

Mais comment puis-je faire cela dans Windows?

J'ai cherché sur Google sur des choses comme "makefile $ (shell) équivalent sur Windows", mais n'ont pas été en mesure de trouver l'appel équivalent. (Je ne suis pas très expérimenté avec makefiles donc je ne suis même pas sûr de ce que seraient de bons mots-clés à rechercher pour trouver ceci)

Merci d'avance pour tout conseil.

Répondre

1

Si vous utilisez GNU make sous Windows, vous pouvez le faire exactement de la même manière.

Si vous utilisez un autre make, tel que nmake, alors je ne pense pas que vous puissiez le faire (mais je ne suis pas un expert nmake). Bien sûr, vous ne pourrez pas utiliser le même makefile sur Linux et Windows à moins d'utiliser une marque portable (par exemple, make GNU) sur les deux systèmes.

+0

mon projet est en cours de développement en Qt. Donc qmake gère la génération du makefile pour windows ou linux. Dans mon fichier .pro, je spécifierais 'unix: DEFINES + = 'BUILDVERSION =" $ (shell svnversion) "'' qui est exécuté sur une machine linux. Pour les fenêtres, je recherche l'appel équivalent ... – Stanton

+0

Ensuite, vous devriez ajouter une balise "qmake" à votre question, car elle est spécifique à qmake. Je ne sais rien de qmake mais je ne vois pas pourquoi les mêmes makefiles ne fonctionneraient pas sur Linux et Windows, si les deux builds utilisent qmake. – MadScientist