سلام دوستان
چند روزی است که با فلسفه ی make آشنا شدم.بعد از جستجو و تحقیق به این نتیجه رسیدم که make برای کامپایل کردن دوباره قسمتی از برنامه ی بزرگ استفاده می شود.
من یکی برنامه دارم که شامل چندین پوشه است و هر پوشه خود make خود را داره.مشکل من اینه که من وقتی دستور make را در پوشه مورد نظر اجرا می کنم خطای زیر را میده
ar rcs libhooks.a hooks.o m5op_x86.o
libhooks.a
make: libhooks.a: Command not found
make: *** [all] Error 127
من اطلاعات زیادی در رابطه با make و ساختارش ندارم اما تا اونجایی که جستجو کردم libhooks.a خروجی برنامه است و باید libhooks.a بعد از دستور make باید درست شود.اما خطای بالا را می دهد.
محتوای Makefile به صورت زیر است.
# Makefile for the PARSEC hooks library
#
# Copyright (C) 2006-2009 by Princeton University
# Author: Christian Bienia
PREFIX=${PARSECDIR}/pkgs/libs/hooks/inst/${PARSECPLAT}
#AR=ar
#RANLIB=ranlib
INCLUDEDIR=include
TARGET=libhooks.a
OBJS=hooks.o m5op_x86.o
all: $(OBJS)
$(AR) rcs $(TARGET) $(OBJS)
$(RANLIB) $(TARGET)
%.o : %.c
$(CC) $(CFLAGS) -Wall -D_GNU_SOURCE -D_XOPEN_SOURCE=600 -c $<
clean:
rm -f $(OBJS)
rm -f $(TARGET)
install:
mkdir -p $(PREFIX)/lib
cp -f $(TARGET) $(PREFIX)/lib
mkdir -p $(PREFIX)/include
cp -rf $(INCLUDEDIR)/* $(PREFIX)/include
.PHONY: all clean install
از راهنماییتون خیلی خوشحال میشم