Ho un comando che funziona in un modo in OSX/Unix e un altro in Debian/Linux. Voglio creare un file make per la mia applicazione, ma ho bisogno di rilevare il sistema operativo ed emettere il comando di conseguenza. Come potrei fare questo?Come rilevare il SO in un file make?
13
A
risposta
25
È possibile utilizzare uname per eseguire questa operazione. Nel vostro Makefile, si potrebbe scrivere qualcosa di simile:
OS := $(shell uname)
ifeq $(OS) Darwin
# Run MacOS commands
else
# check for Linux and run other commands
endif
+2
Come può essere eseguito questo codice all'interno di uno degli obiettivi? – Mikhail
0
Utilizzare autotools. È un modo standard per creare pacchetti di codice sorgente portatile.
14
Quello che ha funzionato per me
OS := $(shell uname)
ifeq ($(OS),Darwin)
# Run MacOS commands
else
# check for Linux and run other commands
endif
Problemi correlati
- 1. come "eseguire" make file
- 2. Come aggiungere flag di compilazione -g in un file make?
- 3. Come aggiungere il file .so a java.library.path in Linux
- 4. Come rilevare se il file è un'immagine in perl
- 5. PHP ha una funzione per rilevare il SO su cui è in esecuzione?
- 6. Genera file .so in Android Studio
- 7. Utilizzo di file .so in Studio Android
- 8. Come so se il mio input = "file" ha contenuto selezionato
- 9. Perché GNU Make eliminare un file
- 10. Come importare il modulo python dal file .so?
- 11. Caricamento di file * .so in Websphere
- 12. Aggiunta di un file .so in Studio Android
- 13. Passa il file selezionato a Make target in Eclipse
- 14. Come incorporare il file make esistente con Android NDK
- 15. Come posso scrivere un makefile per auto-rilevare e parallelizzare la build con GNU Make?
- 16. Come includere un file .so lib in Intellij IDEA per il progetto Android?
- 17. splitting una variabile in un file di make
- 18. Come rilevare se il SO Linux utilizza l'ambiente KDE o Gnome
- 19. Come importare una libreria nativa (file .so) in Eclipse?
- 20. Make Clojure riconosce e isola la linea in un file
- 21. Dipende dal file make stesso
- 22. Come aggiungere più file nativi di librerie (.so) in IntelliJ
- 23. Make ImageMagick riconosce un carattere
- 24. Ruby: come posso rilevare/indovinare in modo intelligente il delimitatore utilizzato in un file CSV?
- 25. perché "make" prima di "make install"
- 26. Come convertire un modello scikit in un veloce `.so`
- 27. Come installare libpython2.7.so
- 28. Come eseguire il debug di un programma compilato con 'make'?
- 29. debian rules file make a symlink
- 30. C++ Come ottenere un nome file (e percorso) del modulo .so in esecuzione in Unix
possibile duplicato del [OS makefile rilevazione] (http://stackoverflow.com/questions/714100/os- detecting-makefile) – Anko