AIX 上面makefile问题,(如何向VC那样,.o文件都输出到指定的路径下,如./debug路径下))

sun_star221 2004-11-30 07:25:33
替换规则应该怎么书写,谁能给我一个简单的例子,工程文件超过了200个,在十几个文件夹下。能有好的替换规则么?


另外,
AIX平台上的Makefile文件可以用那些函数处理,我找了一些资料没有找到AIX上面能用的函数呢
类是$(subst <from>,<to>,<text>) 这样的函数都不能使用
...全文
288 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun_star221 2005-01-01
  • 打赏
  • 举报
回复
谢谢大家
xboy 2004-12-09
  • 打赏
  • 举报
回复
明白了??
xboy 2004-12-09
  • 打赏
  • 举报
回复
#*******************************************************************
# FILE NAME : makefile
# Copyright 2000-2001 Openet Corporation. All rights reserved.
#
# Created by : Jack He
# Last Modified Time : 2002.04.08
# Modified by : Jack He
#*******************************************************************

CC = gcc
SYBASE = /home/sybase
ROOTDIR =

LANG =
OBJ = ../obj
EXE = ../bin/smb_dm
SYBASE_OCS = ${SYBASE}/OCS-12_0

PRECOMP = cpre
PRECOMPFLAGS = -l -m -h

LIBFLAGS = -lnsl -lpthread #-lsocket
SYBASELIB = -L${SYBASE_OCS}/lib -lct_r -lcs_r -ltcl_r -lcomn_r -lintl_r

CPPFLAGS = -I../include -I${SYBASE_OCS}/include -D__unix__

OBJS=${OBJ}/cj_main.o ${OBJ}/cj_publ.o ${OBJ}/cj_ftp.o ${OBJ}/sybesql.o \
${OBJ}/cj_err.o ${OBJ}/cj_basi.o

build: $(OBJS)
@echo
@echo
$(CC) -o $(EXE) $(OBJS) ${LIBFLAGS} ${SYBASELIB}
@echo
@echo "*** Make my program OK !!! ***"
@echo

${OBJ}/cj_main.o:cj_main.c
$(CC) $(CPPFLAGS) -c cj_main.c
@mv cj_main.o ${OBJ}
@rm -f cj_main.c

cj_main.c:cj_main.cp
${PRECOMP} ${PRECOMPFLAGS} -O cj_main.c cj_main.cp

${OBJ}/cj_err.o:cj_err.c
$(CC) $(CPPFLAGS) -c cj_err.c
@mv cj_err.o ${OBJ}
@rm -f cj_err.c

cj_err.c:cj_err.cp
${PRECOMP} ${PRECOMPFLAGS} -O cj_err.c cj_err.cp

${OBJ}/cj_publ.o:cj_publ.c
$(CC) $(CPPFLAGS) -c cj_publ.c
@mv cj_publ.o ${OBJ}
@rm -f cj_publ.c

cj_publ.c:cj_publ.cp
${PRECOMP} ${PRECOMPFLAGS} -O cj_publ.c cj_publ.cp

${OBJ}/cj_basi.o:cj_basi.c
$(CC) $(CPPFLAGS) -c cj_basi.c
@mv cj_basi.o ${OBJ}
@rm -f cj_basi.c

cj_basi.c:cj_basi.cp
${PRECOMP} ${PRECOMPFLAGS} -O cj_basi.c cj_basi.cp

###########################################

${OBJ}/sybesql.o:${SYBASE_OCS}/include/sybesql.c
${CC} ${CPPFLAGS} -c ${SYBASE_OCS}/include/sybesql.c
@mv sybesql.o ${OBJ}

###########################################

${OBJ}/cj_ftp.o:cj_ftp.c
$(CC) $(CPPFLAGS) -c cj_ftp.c
@mv cj_ftp.o ${OBJ}

###########################################

clean:
@rm -f ${OBJ}/*.o
sunbinsunbin 2004-12-09
  • 打赏
  • 举报
回复
such as:

$(OBJPATH)/downfile.o:downfile.c
cc -c downfile.c
mv downfile.o $(OBJPATH)


chowsimon 2004-12-07
  • 打赏
  • 举报
回复
The replace rule you mentioned I have forgotten as I have never used it.
But I think you can use shell command below the cc to implement it.
such as : cp $OBJECT ../obj
bekars 2004-12-07
  • 打赏
  • 举报
回复
在不同的路径下写Makefile,然后调用。
hualiu6688 2004-12-06
  • 打赏
  • 举报
回复
5G的清华大学教授讲课录像! www.8cd.cn
MiracleNo1 2004-12-06
  • 打赏
  • 举报
回复
-o /tmp/xxx 这样可以吗
datuhao 2004-12-06
  • 打赏
  • 举报
回复
没用过aix,没有这个命令?
man查不到么,那你平时用什么命令查看手册?
sun_star221 2004-12-05
  • 打赏
  • 举报
回复
在AIX5.2上面怎么用info make呢?我是新手,直接使用这个命令无效?能详细地告诉我么
datuhao 2004-12-01
  • 打赏
  • 举报
回复
你不用默认的.cpp.o隐式规则,定义一个自己的.cpp.o规则指定好.o的生成路径,应该就可以了吧,没有具体试过,不过可能连接的时候会有问题,需要指定好默认的连接路径。

make的函数你可以info make看下,所有函数的介绍都有的。
源码链接: https://pan.quark.cn/s/651b74ed6067 《MQL4中文帮助手册》是一部详尽阐述MetaQuotes Language 4(MQL4)编程语言的参考书籍,其核心目标在于协助用户掌握并运用MQL4进行金融市场的自动化交易系统构建。MQL4作为MetaTrader 4交易平台的核心编程语言,赋予了交易者开发自定义指标、Expert Advisors(EA智能交易系统)以及脚本的能力。 ### MQL4基础知识 1. **Syntax 语法**:MQL4的语法规则与C/C++语言展现出相似性,涵盖了变量声明、函数调用、条件判断、循环机制等核心要素。熟练掌握并合理运用语法是开发高效MQL4代码的先决条件。 2. **Comments 注释**:在MQL4编程环境中,单行注释采用两个斜线(//)进行标识,而多行注释则通过/* 和 */进行界定。注释的主要功能在于阐释代码用途,从而提升代码的可读性与可维护性。 3. **Identifiers 标识符**:标识符是程序中用于命名变量、函数、类等元素的字符序列。其命名规则要求必须以字母或下划线作为开头,后续可包含字母、数字或下划线组合。MQL4语言对大小写敏感,因此`MyVariable`与`myvariable`被视为两个独立的标识符。 4. **Reserved words 保留字**:保留字是MQL4语言中预先设定的特殊词汇,例如`int`, `bool`, `double`, `if`, `else`, `for`, `while`等,这些词汇不可用作自定义标识符,以防止与语言关键字产生冲突。 5. **Data types 数据类型**:MQL4支持多元化的数据类型,包括...

23,224

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧