انجمنهای فارسی اوبونتو
کمک و پشتیبانی => نصب، راهاندازی و بروزآوری => نویسنده: 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 ؟؟؟
-
تو چه دستوری رو توی ترمینال اجرا کردی؟
لینک مربوط به برنامه رو هم بده.
-
خیلی ممنون از جوابتون
من فقط دستور 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)