Di Unix, bisakah saya menjalankan make
direktori tanpa cd
terlebih dahulu ke direktori itu?
Di Unix, bisakah saya menjalankan make
direktori tanpa cd
terlebih dahulu ke direktori itu?
Jawaban:
make -C /path/to/dir
Seperti disebutkan dalam jawaban lain, membuat (1) memiliki -C
opsi untuk ini; beberapa perintah memiliki opsi serupa (misalnya tar). Penting untuk dicatat bahwa untuk perintah lain yang tidak memiliki opsi seperti berikut ini dapat digunakan:
(cd /dir/path && command-to-run)
Ini menjalankan perintah dalam sub-shell yang pertama kali direktori kerjanya berubah (sambil meninggalkan direktori kerja dari shell induk sendiri). Di sini &&
digunakan alih-alih ;
untuk menangkap kasus kesalahan di mana direktori tidak dapat diubah.
Jika alasan Anda tidak ingin melakukan cd ke direktori adalah karena Anda perlu tetap berada di direktori saat ini untuk tugas selanjutnya, Anda dapat menggunakan pushd dan popd:
pushd ProjectDir ; make ; popd
Itu masuk ke ProjectDir, menjalankan make, dan kembali ke tempat Anda berada.
makefile:
all:
gcc -Wall -Wpedantic -std=gnu99 -g src/test.c -o build/test
run:
./build/test
atau
run:
./../build/test
dll.