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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: خطا در استفاده از دستور make  (دفعات بازدید: 1118 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین ali.329

  • Newbie
  • *
  • ارسال: 15
  • جنسیت : پسر
خطا در استفاده از دستور make
« : 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
از راهنماییتون خیلی خوشحال میشم

آفلاین ali.329

  • Newbie
  • *
  • ارسال: 15
  • جنسیت : پسر
پاسخ : خطا در استفاده از دستور make
« پاسخ #1 : 31 امرداد 1396، 05:21 ب‌ظ »
کسی نیست راهنمایی کنه؟

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


آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : خطا در استفاده از دستور make
« پاسخ #2 : 31 امرداد 1396، 06:17 ب‌ظ »
تو چه دستوری رو توی ترمینال اجرا کردی؟

لینک مربوط به برنامه رو هم بده.

آفلاین ali.329

  • Newbie
  • *
  • ارسال: 15
  • جنسیت : پسر
پاسخ : خطا در استفاده از دستور make
« پاسخ #3 : 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

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

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

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