Powinienem skompilować program napisany w C poprzez Makefile. Powinienem wstawić do Makefile, niektóre opcje, na przykład: -O2, -march=i686
. Jak mogę wstawić tę opcję do pliku Makefile bez zapisywania w nim?Dodaj opcję kompilatora bez edycji Makefile
Odpowiedz
Powinieneś użyć makra takiego jak CFLAGS. Sprawdź GNU GCC documentation.
Coś jak to powinno działać:
CFLAGS := $(CFLAGS) -O2 -march=i686
Lub, jeśli wolisz, aby nie modyfikować stosowanie makefile:
make CFLAGS='-O2 -march=i686'
Inne opcje będą zbierane automatycznie chociaż. Zobacz overriding variables.
Należy pamiętać, że CFLAGS mogą być tworzone z złożonych pod-makr. Lepszym wyjściem może być nadpisanie jednego z pod-makr. Jeśli nie ma sprzecznej opcji w CFLAGS, często używam '' make CC = "gcc -O2 -march = i686" '', aby osiągnąć pożądany rezultat. –
Gdzie pracuję, używamy dedykowanych zdefiniowanych przez użytkownika makr dla takich rzeczy - ADDED_CFLAGS, ADDED_ASMFLAGS, ADDED_EXEFLAGS, .... – Sparky
W pliku make są czasami zmienne, które umożliwiają dodawanie dodatkowych flag bez nadpisywania czegokolwiek: na przykład 'XCFLAGS',' XLIBS'. Wystarczy spojrzeć na plik Makefile. –
- 1. Dodaj własne ostrzeżenie kompilatora
- 2. Dodaj nową linię w pętli Makefile 'foreach'
- 3. Ustaw opcję Dodaj do niestandardowego adaptera ListView
- 4. Dodaj opcję zdalną nie pokazano w PyCharm
- 5. Dodaj aktywne komentarze administratora podczas edycji
- 6. Parser kodu parsera (bez kompilatora)
- 7. Makefile usuwa pliki obiektów bez powodu
- 8. Warunek Makefile:
- 9. CMake z plikami Makefile: dodaj dźwięk na końcu kompilacji
- 10. DataTable edycji inline bez edytora plugin
- 11. Używanie kątowego 2 bez kompilatora maszynowego
- 12. Jak się ukryć Dodaj nową opcję w Railsie Admin
- 13. Dodaj opcję "Klasa" w menu Nowy w perspektywie Java EE
- 14. Dodaj opcję prawego przycisku myszy do ikony rozszerzenia chrome
- 15. Dodaj niestandardową opcję do elementu wyceny (produkt w koszyku)?
- 16. Muszę dodać opcję "Dodaj nowy element" w Select2
- 17. Brakujący separator w Makefile?
- 18. edycji ComboBox
- 19. Makefile Grammar
- 20. Knockout wyłącz opcję wybierz opcję
- 21. Makefile dla bibliotek współdzielonych?
- 22. Funkcje w Makefile
- 23. Pobieranie nazwy pliku Makefile z pliku Makefile
- 24. Programowanie jądra Linuksa: makefile
- 25. Makefile: ERROR1
- 26. Dodaj nazw i bez nazwisk do Xelement
- 27. Dodaj nagłówek do CSV bez ładowania CSV
- 28. W jaki sposób można dołączyć opcję kompilatora Scala do opcji scalacOptions w sbt?
- 29. Jak skompilować plik Makefile za pomocą MinGW?
- 30. Jak dokonać edycji DataGridCheckBoxColumn bez konieczności dodatkowych kliknięć?
Czy możemy już zobaczyć, co masz w swojej Makefile? – Starkey
Musi to być generyczny plik Makefile – Gnufabio
http://stackoverflow.com/questions/1250608/passing-a-gcc-flag-through-makefile –