makefile - C 编译出错,正在尝试编译注释行
问题描述
我对C不太熟悉,但这很奇怪。我在生成文件上运行make
命令,以便在 HP-UX(噩梦!)机器上编译我的 C 模块。事情正在正确编译,但最后我得到了这个错误:
Make: Don't know how to make #----------------. Stop.
看起来它正试图make
开始我在makefile中的注释行。这是makefile(它很丑,不是我一开始写的):
#--------------------------------------------------------------
# Name : Makefile
#--------------------------------------------------------------
CCOPTS = -c +DD64 -Ae -I/path/to/include
DEFINES = -DUNIX
INCLUDE = /path/to/include
BIN = /path/to/bin
FIRSTOBJS = asvc.o getname.o err.o
SECONDOBJS = CCARD.o getname.o err.o
THIRDOBJS = CREQ.o getname.o err.o
FOURTHOBJS = CPORG.o implin.o getname.o cchcomm.o err.o
FIFTHOBJS = UNFOR.o getname.o err.o
DBINCDIR = /path/to/mysql-connector-c-6.0.2-hpux11.11-hppa2.0-64bit/include
LIBS = -lmysqlclient
DBLIB = +DD64 -L/path/to/lib
#---------------- All Executables -------------------
default : $(BIN)/asvc \
$(BIN)/UNFOR \
$(BIN)/ontop \
$(BIN)/CCARD \
$(BIN)/CREQ \
$(BIN)/xltscri \
#---------------- Common object Modules -------------
asvc.o : asvc.c $(INCLUDE)/err.h $(INCLUDE)/xcerr.h
cc $(CCOPTS) $(DEFINES) -I$(DBINCDIR) asvc.c
err.o : err.c $(INCLUDE)/err.h
cc $(CCOPTS) -g err.c -I$(DBINCDIR)
UNFOR.o : UNFOR.c $(INCLUDE)/err.h $(INCLUDE)/xcerr.h
cc $(CCOPTS) $(DEFINES) -I$(DBINCDIR) UNFOR.c
xltscri.o : xltscri.c $(INCLUDE)/ontop.h $(INCLUDE)/err.h \
$(INCLUDE)/xcerr.h
cc $(CCOPTS) $(DEFINES) -I$(DBINCDIR) xltscri.c
ontop.o : ontop.c $(INCLUDE)/ontop.h $(INCLUDE)/err.h \
$(INCLUDE)/xcerr.h
cc $(CCOPTS) $(DEFINES) -I$(DBINCDIR) ontop.c
getname.o : getname.c $(INCLUDE)/ontop.h
cc $(CCOPTS) $(DEFINES) -I$(DBINCDIR) getname.c
CCARD.o : CCARD.c $(INCLUDE)/err.h $(INCLUDE)/xcerr.h
cc $(CCOPTS) $(DEFINES) -I$(DBINCDIR) CCARD.c
implin.o : implin.c $(INCLUDE)/err.h $(INCLUDE)/xcerr.h
cc $(CCOPTS) implin.c -I$(DBINCDIR)
CREQ.o : CREQ.c $(INCLUDE)/err.h $(INCLUDE)/xcerr.h
cc $(CCOPTS) $(DEFINES) -I$(DBINCDIR) CREQ.c
#------------ Make asvc (Get SubService ) ---------
$(BIN)/asvc: $(FIRSTOBJS)
cc -o $@ \
$(FIRSTOBJS) \
$(DBLIB) \
$(LIBS)
#------------ Make CCARD (Update Completed TimeStamp ) ---------
$(BIN)/CCARD: $(SECONDOBJS)
cc -o $@ \
$(SECONDOBJS) \
$(DBLIB) \
$(LIBS)
#------------ Make UNFOR ( Match Partitioning Abend Checker ) ---------
$(BIN)/UNFOR: $(FIFTHOBJS)
cc -o $@ \
$(FIFTHOBJS) \
$(DBLIB) \
$(LIBS)
#------------ Make ontop (Add script)---------
$(BIN)/ontop: ontop.o getname.o err.o
cc -o $@ \
ontop.o \
getname.o \
err.o \
$(DBLIB) \
$(LIBS)
#------------ Make CREQ (FPC Requests ) ---------
$(BIN)/CREQ: $(THIRDOBJS)
cc -o $@ \
$(THIRDOBJS) \
$(DBLIB) \
$(LIBS)
#------------ Make xltscri (Select script)---------
$(BIN)/xltscri: xltscri.o getname.o err.o
cc -o $@ \
xltscri.o \
getname.o \
err.o \
$(DBLIB) \
$(LIBS)
#---------------End of Makefile ---------------------
解决方案
@尤金 SH。钉了它和@Ingo Leonhardt。All executables 部分最后一行的额外反斜杠导致程序认为下一行(直到空格)是命令的一部分。谢谢。作为 makefile 的新手,不知道在注意到这一点之前我会浪费多少时间。
推荐阅读
- python - 在 PyQt 的菜单栏下方显示图像
- php - 在数据库列中插入外键值时更新查询出现问题
- list - 从 GCP 获取所有项目所有者的列表
- python - pyqt5中自定义的可折叠qtool按钮
- c - 在C中提取具有给定概率的数字
- python - 如何在不使用任何函数的情况下从字符串中删除子字符串
- android-databinding - 将我的简单代码数据绑定一种方式转换为数据绑定两种
- sql - Elasticsearch GROUP BY 列 HAVING COUNT > x
- android-espresso - 如何为 BiometricPrompt 编写 Espresso 测试
- python - 如何从 Python 中的字符串中创建一个由包含在字符中的元素组成的列表?