انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => نصب، راه‌اندازی و بروزآوری => نویسنده: ali.329 در 30 امرداد 1396، 01:20 ب‌ظ

عنوان: خطا در استفاده از دستور make
ارسال شده توسط: ali.329 در 30 امرداد 1396، 01:20 ب‌ظ
سلام دوستان
چند روزی است که با فلسفه ی 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
از راهنماییتون خیلی خوشحال میشم
عنوان: پاسخ : خطا در استفاده از دستور make
ارسال شده توسط: ali.329 در 31 امرداد 1396، 05:21 ب‌ظ
کسی نیست راهنمایی کنه؟

آیا من نمی توتن دستی این کد را کامپایل کنم؟؟؟ بعنی بدون دستور make ؟؟؟

عنوان: پاسخ : خطا در استفاده از دستور make
ارسال شده توسط: سلمان م. در 31 امرداد 1396، 06:17 ب‌ظ
تو چه دستوری رو توی ترمینال اجرا کردی؟

لینک مربوط به برنامه رو هم بده.
عنوان: پاسخ : خطا در استفاده از دستور make
ارسال شده توسط: ali.329 در 31 امرداد 1396، 06:48 ب‌ظ
خیلی ممنون از جوابتون

من فقط دستور make  رو زدم. البته باید بگم که من یک سری تغییراتی در hooks.c انجام دادم.همیچنین تو داخل Makefile دستور include Makefile.static را فعال و دستور include Makefile.shared را غیر فعال کردم. فایل m5op_x86.o را هم به اضافه کردم.

https://github.com/bamos/parsec-benchmark/tree/master/pkgs/libs/hooks/src (https://github.com/bamos/parsec-benchmark/tree/master/pkgs/libs/hooks/src)

لینک کل برنامه زیر است:

http://parsec.cs.princeton.edu/download.htm (http://parsec.cs.princeton.edu/download.htm)

فایل مورد نظر هم در زیر است:
http://up.persianscript.ir/uploads2/2171-hooks-tar.gz (http://up.persianscript.ir/uploads2/2171-hooks-tar.gz)