حالا وقتی make میزنم فقظ خط اول اجرا میشه و باقیش اجرا نمیشه
مشکل چیه ؟ ممنون
سلام
طبق
این سوال در مورد default target تو stackoverflow وقتی شما دستور make رو بدون مشخص کردن هدف می زنید،
make میاد و اولین هدفی که توی makefile تعیین کردید رو اجرا می کنه، یعنی dt.o
چند تا کار می تونید انجام بدید:
1. مستقیما به make بگید که هدف main رو اجرا کنه یعنی دستور make main
2. توی makefile هدف پیش فرض رو با استفاده از متغییر DEFAULT_GOAL. برای make مشخص کنید:
.DEFAULT_GOAL := main
dt.o :dt.c
gcc $(CFLAGS) -c dt.c
tt.o :tt.c
gcc $(CFLAGS) -c tt.c
main: dt.o tt.o
gcc $(CFLAGS) -o main dt.o tt.o
clean:
rm -f *.o main
3. هدف main رو بیارید ابتدای makefile تا وقتی make رو زدید اون اجرا بشه:
main: dt.o tt.o
gcc $(CFLAGS) -o main dt.o tt.o
dt.o :dt.c
gcc $(CFLAGS) -c dt.c
tt.o :tt.c
gcc $(CFLAGS) -c tt.c
clean:
rm -f *.o main