Yanıtlar:
make -C /path/to/dir
Diğer cevaplarda belirtildiği gibi, make (1) 'in bunun -C
için bir seçeneği vardır ; birçok komutun benzer seçenekleri vardır (örneğin tar). Bu gibi seçeneklere sahip olmayan diğer komutlar için aşağıdakilerin kullanılabileceğini not etmek yararlıdır:
(cd /dir/path && command-to-run)
Bu, komutu ilk önce çalışma dizinini değiştiren bir alt kabukta çalıştırır (üst kabuğun çalışma dizinini yalnız bırakırken). Burada dizinin değiştirilemediği hata durumlarını yakalamak &&
için kullanılır ;
.
Bir dizine cd istememenin nedeni, daha sonraki bir görev için geçerli dizinde kalmanız gerektiğinden, pushd ve popd komutlarını kullanabilirsiniz:
pushd ProjectDir ; make ; popd
Bu ProjectDir içine gider, make çalışır ve bulunduğunuz yere geri döner.
makefile:
all:
gcc -Wall -Wpedantic -std=gnu99 -g src/test.c -o build/test
run:
./build/test
veya
run:
./../build/test
vb.