از همه دوستانی که علاقه نشون دادن و باعث دلگرمی شدن تشکر میکنم
در مورد dependency باید بگم، برای make فرقی نمیکنه که فایلها کدمنبع برنامه باشن، یه سری مستندات باشن، فایل html باشن یا هر چیز دیگه. توی هر پروژه ای که
یه سری فایل به یه سری فایل دیگه وابسته باشند میشه از make برای مدیریت و خودکار سازی کارها استفاده کرد.یعنی مهم این رابطه ای هست که بین فایلها برقراره.
همونطور که شما گفتید، قبلا یه سری از وابستگی ها (مثل فایل هدر header.h) توی فایل program.c درج (include) شدن، درسته؟ خب حالا فرض کنید که ما فایل header.h رو تغییر دادیم. با تغییر دادن این فایل، نیاز به rebuild کردن کدوم فایل هست؟ program.o یا program.c؟ مسلما program.o چون program.c در واقع به header.h
وابسته نیست. هر چند که header.h توی فایل program.c درج شده اما program.c به اون وابسته نیست. چون با تغییر header.h این program.o هست که باید مجددا کامپایل بشه و ما بعد از اینکه header.h رو تغییر دادیم نیازی نیست تا تغییری توی program.c هم ایجاد کنیم.