我正在尝试从Linux pc为ARM创建 SQLite 的testfixture
。但是,由于出现错误,我无法编译。
我收到以下错误,
Make: *** No rule to make target `armv7l-timesys-linux-gnueabi-gcc', \
needed by `testfixture'. Stop.
以下是我正在使用的make
文件。
#!/usr/make
#
# Makefile for SQLITE
#
# Source code to the test files.
#
# set up compiler and options
TOP = .
INCLUDES = -I"/home/bkrishnan/Downloads/sqlite-amalgamation/testfixture"
CC = armv7l-timesys-linux-gnueabi-gcc
CFLAGS = -g $(INCLUDES) -DSQLITE_PRIVATE="" -DSQLITE_TEST=1 -DTCLSH=1 -D_FILE_OFFSET_BITS=64 -DSQLITE_CORE
# library files.
LIB = libtcl8.5.so
#-----File Dependencies----------------------
# Source files.
SRC = \
$(TOP)/tclsqlite.c \
$(TOP)/sqlite3.c \
$(TOP)/shell.c
# Source OBJ files.
SRCOBJ = \
tclsqlite.o \
sqlite3.o \
shell.o
# Test source files.
TESTSRC = \
$(TOP)/test_async.c \
$(TOP)/test_autoext.c \
$(TOP)/test_backup.c \
$(TOP)/test_btree.c \
$(TOP)/test_config.c \
$(TOP)/test_demovfs.c \
$(TOP)/test_devsym.c \
$(TOP)/test_func.c \
$(TOP)/test_hexio.c \
$(TOP)/test_init.c \
$(TOP)/test_intarray.c \
$(TOP)/test_journal.c \
$(TOP)/test_malloc.c \
$(TOP)/test_mutex.c \
$(TOP)/test_onefile.c \
$(TOP)/test_osinst.c \
$(TOP)/test_pcache.c \
$(TOP)/test_schema.c \
$(TOP)/test_server.c \
$(TOP)/test_stat.c \
$(TOP)/test_tclvar.c \
$(TOP)/test_thread.c \
$(TOP)/test_vfs.c \
$(TOP)/test_wsd.c \
$(TOP)/test1.c \
$(TOP)/test2.c \
$(TOP)/test3.c \
$(TOP)/test4.c \
$(TOP)/test5.c \
$(TOP)/test6.c \
$(TOP)/test7.c \
$(TOP)/test8.c \
$(TOP)/test9.c \
$(TOP)/test_fuzzer.c \
$(TOP)/test_multiplex.c \
$(TOP)/test_quota.c \
$(TOP)/test_rtree.c \
$(TOP)/test_superlock.c \
$(TOP)/test_syscall.c \
$(TOP)/test_wholenumber.c \
$(TOP)/test_loadext.c \
$(TOP)/test_spellfix.c \
$(TOP)/test_vfstrace.c \
$(TOP)/fts3_term.c \
$(TOP)/fts3_test.c
# Test OBJ files
TESTOBJ = \
test_async.o \
test_autoext.o \
test_backup.o \
test_btree.o \
test_config.o \
test_demovfs.o \
test_devsym.o \
test_func.o \
test_hexio.o \
test_init.o \
test_intarray.o \
test_journal.o \
test_malloc.o \
test_mutex.o \
test_onefile.o \
test_osinst.o \
test_pcache.o \
test_schema.o \
test_server.o \
test_stat.o \
test_tclvar.o \
test_thread.o \
test_vfs.o \
test_wsd.o \
test1.o \
test2.o \
test3.o \
test4.o \
test5.o \
test6.o \
test7.o \
test8.o \
test9.o \
test_fuzzer.o \
test_multiplex.o \
test_quota.o \
test_rtree.o \
test_superlock.o \
test_syscall.o \
test_wholenumber.o \
test_loadext.o \
test_spellfix.o \
test_vfstrace.o \
fts3_term.o \
fts3_test.o
# Header files used by all library source files.
HDR = \
$(TOP)/sqlite3.h \
$(TOP)/btree.h \
$(TOP)/hash.h \
$(TOP)/hwtime.h \
$(TOP)/mutex.h \
$(TOP)/os.h \
$(TOP)/os_common.h \
$(TOP)/pager.h \
$(TOP)/pcache.h \
$(TOP)/sqlite3ext.h \
$(TOP)/sqliteLimit.h \
$(TOP)/sqliteInt.h \
$(TOP)/test_intarray.h \
$(TOP)/test_multiplex.h \
$(TOP)/test_quota.h \
$(TOP)/wal.h \
$(TOP)/vdbe.h \
$(TOP)/tcl.h \
$(TOP)/tclDecls.h \
$(TOP)/tclPlatDecls.h \
$(TOP)/tclTomMathDecls.h \
$(TOP)/tclTomMath.h \
$(TOP)/fts3Int.h
testfixture$(TEXE): $(CC) $(CFLAGS) -o $(SRCOBJ) $(TESTOBJ) $(HDR) -lm $(LIB)
#depend:
# makedepend -Y $(HDR)
clean:
rm -f $(TESTOBJ) $(SRCOBJ)
答案 0 :(得分:1)
你应该改变
testfixture$(TEXE): $(CC) $(CFLAGS) -o $(SRCOBJ) $(TESTOBJ) $(HDR) -lm $(LIB)
到
testfixture$(TEXE): $(TESTOBJ)
$(CC) $(CFLAGS) -o $(SRCOBJ) $(TESTOBJ) $(HDR) -lm $(LIB)
因为$(CC)是要运行的命令,而不是目标依赖项。