Mogę popaść w problem X-Y z tym pytaniem i zachęcam was do poprawienia mnie, jeśli się mylę.
Chciałbym skonfigurować środowisko toolchain, które może działać na różnych platformach i różnych wersjach kompilatora. Początkowo napisałem długi skrypt Perla, który generuje konfigurację Makefile, która zawiera tylko zmienne. Chciałem być KISS, więc nie pisałem żadnych skomplikowanych rzeczy za pomocą automake lub autoconf. Ponadto chciałem, aby proces zmiany konfiguracji był bardzo szybki. W moim przypadku mój dom zrobił ./configure
robi wszystko w czasie krótszym niż 1 sekunda. Jestem z tego bardzo szczęśliwy.
Jednak mogę wypełnić I można użyć lepszego podejścia przy użyciu zmiennych środowiskowych. Zamiast pisać plik Makefile z określonymi zmiennymi, mogę bezpośrednio ustawić bieżące środowisko powłoki. Na przykład:
export cc=gcc
Niestety niektóre zmienne są już zadeklarowane w zmiennej $ PATH. Rozwiązaniem jest dodanie nowego $ PATH w przedniej części drugiej:
export PATH=/new/toolchain/path:$PATH
echo $PATH
/new/toolchain/path:/old/toolchain/path:/usr/bin:/bin...
wypełnić ten jest brzydki Chciałbym usunąć starą ścieżkę przed dodaniem nowego.
Podsumowując:
- Czy lepiej użyć środowiska zamiast niestandardowych makefile ustawić konfigurację budować?
- Jak właściwie dostosować istniejące zmienne środowiskowe?
Czy próbowałeś używać wysokowydajnych systemów kompilacji, takich jak SCons, CMake, autoconf? – myaut
Cóż, CMake używa make i chcę zachować rzeczy tak proste, jak to możliwe. Więc w moim przypadku byłoby lepiej. Autoconf wydaje się dość skomplikowany i naprawdę powinienem znaleźć dobry tutorial. Nadal jestem z tym stracony. Naprawdę powinienem rzucić okiem na SCons. Nie wiedziałem tego. – nowox
Uwaga: Wysłane polecenie eksportu _nie_ prowadzi do ścieżki, którą wysłałeś (brakuje znaku '$'). –