makefileとautoconfigノートを勉強し、更新を続けます.

2819 ワード


main.c
#include<stdio.h>
#include"chen_print.h"

int main(int argc , char * argv ){
   chen_print("haha , I'm coming makefile
"); return 0; }

chen_print.c
#include<stdio.h>

void chen_print( char * str ){
printf("you enter string is :
\t%s
",str); }

chen_print.h
void chen_print( char * str );

makefile
main:chen_print.h libchen_print.a
  gcc main.c -o main -L./ -lchen_print
libchen_print.a:chen_print.o
  ar -r libchen_print.a chen_print.o

chen_print.o:chen_print.h chen_print.c
  gcc -c chen_print.c -o chen_print.o

clean:
  rm -f *.o
  rm -f *.a
  rm -f main

makefileのフォーマットを簡単に紹介します
target:filename1 filename2
common
実はmakefileのルールは簡単です.ターゲットファイル(target)が依存するファイル(filename 1 filename 2)が更新されているかどうかを見て、依存ファイルが更新されると、次のshellコマンドが自動的に実行されます.
shellコマンドはキーで始まる必要があります.makefileのフォーマットは強制されます.仕方がありません.が美しくないと思う場合は、tabのジャンプスペース数を変更することをお勧めします.
viで実行:set ts=3
またはviのデフォルトプロファイルを直接変更する
   vi ~/.vimrc
元のファイルがすでに存在する場合:set ts=n、それを修正すればいいです.この文が存在しない場合は、ファイルの末尾に直接追加すればいいです.
私のmakefileにはcleanのコマンドも書いてあります.環境クリーンアップ用で、実行します.
$>make clean
次のクリーンアップが実行されます
同じように、私たちは
$>make install
これらのコマンドは、実質的にshell動作を実行します.
******************************************
自分で勉強するサイトの資料:
makefileの使い方を詳しく紹介し、入門に必須ですhttp://blog.csdn.net/liang13664759/article/details/1771246
いくつかの入門の基礎の後で読む進級の文章がありますhttp://goodcandle.cnblogs.com/archive/2006/03/30/278702.html