0

こんにちは、makedependがインストールされていない(現在は解決されている)という以前の問題の後、makefileを実行しようとすると次のエラーが発生します。

$ make
makedepend --  -- -I /usr/include/linux -I include 
cp  executables
cp: missing destination file operand after `executables'
Try `cp --help' for more information.
make: *** [executables] Error 1

これが私のmakefileです:

CMDLINE_SRC=$(wildcard commandLine/*.c)
CMDLINE_OBJS = $(CMDLINE_SRC:.c=.o)
EXECUTABLES = $(CMDLINE_SRC:.c=)

LIB_SRC=$(wildcard c/*.c)
LIB_OBJ = $(LIB_SRC:.c=.o)
LIB_OUT = lib/libclinrisk.a

INCLUDES = -I include

# compiler
CC = gcc
CCFLAGS = 
LDFLAGS = 

# library paths
LIBS = -Llib -lclinrisk -lm

.SUFFIXES: .c

default: dep executables

executables: $(EXECUTABLES)
    cp $(EXECUTABLES) executables

$(EXECUTABLES): $(LIB_OUT)

.c:
    $(CC) $(INCLUDES) $(LDFLAGS) $< -o $@ $(LIBS)

.c.o:
    $(CC) $(INCLUDES) $(CCFLAGS) -c $< -o $@

$(LIB_OUT): $(LIB_OBJ)
    ar rcs $(LIB_OUT) $(LIB_OBJ)

depend: dep

dep:
    makedepend -- $(CFLAGS) -- -I /usr/include/linux $(INCLUDES) $(LIB_SRC)

clean:
    rm -f $(LIB_OBJ) $(LIB_OUT) Makefile.bak
    rm -f $(CMDLINE_OBJ) $(CMDLINE_PROGS) 
    rm -f executables/*

ここでの問題は何ですか?私はmakefilesに不慣れです!その間にこれを理解しようとします。

問題は次の問題に関係しているようです。

cp $(EXECUTABLES) executables

ただし、実行可能ファイルへの正しい経路を認識していません...

ありがとう。

4

1 に答える 1

4

MakefileコードにはEXECUTABLES変数を設定するものがないため、空の文字列に置き換えられます。この文字列cpは1つの引数だけで呼び出され、エラーが生成されます。

于 2013-02-06T11:53:17.897 に答える