发新话题
打印

关于make文件的小小疑问

关于make文件的小小疑问

在 make文件中+ P/ N/ n' o) S3 r( }2 r) b, Y* {
install: foo9 p% A. B  l: h8 I: q# |5 v
          if [ -d bb ];4 K) x2 h. z$ m  j
        then* j  v! n3 `* `, y" A
        cd bb;, z, M( M5 M8 p$ u( D. N2 q; t
        echo $((pwd));, F4 ]8 \) Y+ J
        rm 1.o;
, {5 g) F4 ^) ?( H( T8 n# J        rm 2.o;
0 M4 S6 R0 d# A        fi
! r+ S9 f# _  @' J- H/ A9 [                                                                                
) M) ~: G6 x( Q
% V1 X9 x' u8 B6 {; Jinstall: foo  L3 U% q2 K# P, M
          if [ -d bb ]; \
, [2 c, I6 ^- s9 @+ q' \- @        then  \
, x+ K7 C2 F! n6 f: u; x9 A& i        cd bb;  \
2 k" h' ^( A; b0 j        echo $((pwd));  \, T$ U! k0 K* _* s9 y9 M- N) k
        rm 1.o;  \
( N& ~( p1 N' {$ k. i        rm 2.o;  \, c3 Z" B4 W8 f! J( J: T) r! u* b
        fi; C. a/ U3 z9 Z9 R$ B
" \ "  作用是什么 ?
3 A1 e4 @* O7 {3 u我直接用 make  foo.c 通过了
2 @# P3 k2 v+ v3 c3 c2 e; u当我 写了一个make文件( 只写了倚赖关系 foo.o: foo.c stdlib.h stdio.h)后 用 make -f mymake 是,提示我  :    make: *** 没有规则可以创建“foo.o”需要的目标“stdlib.h”。 停止。 为什么,是因为我没写库的路径吗?      

TOP

\是换行
) E. u0 m, [0 v/ ~: H8 X, j) L# R% t6 g% K* @* j
你可以用-M编译CPP文件然后自动生成依赖关系      

TOP

这里的 \ 是续行符。      

TOP

在上面的例子里,用续行符有什么作用呢?
1 F, Y6 a7 f& ?& M) J# G6 Q换行符和回车符有什么区别?
; z# [- e' A5 `$ k) t# h* U6 L$ M
   你可以用-M编译CPP文件然后自动生成依赖关系
) f) ?3 p: z# I# f+ Y& s/ F   那又如何,也是生成我写的依赖关系啊?      

TOP

不知道,你是什么意思,\是转换行,应该没有什么问题阿!      

TOP

为什么在我的系统(fc 2 )里,不能在依赖关系里写头文件,否则会报没有规则创建*.h 文件。      

TOP

是不是都由现在的gcc预处理功能来实现了?      

TOP

foo.o: foo.c stdlib.h stdio.h& v: U6 z5 _  F! O) `- I) e
有这么写的吗?      
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

有啊,我的《linux程序设计》第二版里的例子就是这样写的啊。: o! k, X5 o& R( j& t' \: T
书号是: ISBN 7-111-09322-4         机械工要*霭嫔?8 Z; }  O/ |: o% A! j
9 Q+ x" U: r3 n% p$ O1 X+ R
难道这么写是老用法,现在的make不支持了?      

TOP

有啊,我的《linux程序设计》第二版里的例子就是这样写的啊。4 ]; I; o& D0 d5 D% x- V
书号是: ISBN 7-111-09322-4    机械工要*霭嫔?
: h" H# P9 J. T& f  R
9 i5 {" `+ w  ^" B. X& W难道这么写是老用法,现在的make不支持了?      

TOP

发新话题