my blog my blog

Tag: Makefile
Makefile的基本写法与范例

 

Makefile 基本写法:

格式:

  1. ------------------------------------------------- 
  2.  
  3. target: dependencies 
  4.  
  5. [tab] system command 
  6.  
  7. ------------------------------------------------- 

范例1:

  1. # I am a comment, and I want to say that the variable CC will be 
  2.  
  3. # the compiler to use. 
  4.  
  5. CC=g++ 
  6.  
  7. # Hey!, I am comment number 2. I want to say that CFLAGS will be the 
  8.  
  9. # options I'll pass to the compiler. 
  10.  
  11. CFLAGS=-c -Wall 
  12.  
  13.   
  14.  
  15. all: hello 
  16.  
  17. hello: main.o factorial.o hello.o 
  18.  
  19.        g++ main.o factorial.o hello.o -o hello 
  20.  
  21.   
  22.  
  23. main.o: main.cpp 
  24.  
  25.        g++ -c main.cpp 
  26.  
  27.   
  28.  
  29. factorial.o: factorial.cpp 
  30.  
  31.        g++ -c factorial.cpp 
  32.  
  33.   
  34.  
  35. hello.o: hello.cpp 
  36.  
  37.        g++ -c hello.cpp 
  38.  
  39.   
  40.  
  41. clean: 
  42.  
  43.        rm -rf *o hello 

范例2:
 

  1. CC=g++ 
  2.  
  3. CFLAGS=-c -Wall 
  4.  
  5. LDFLAGS
  6.  
  7. SOURCES=main.cpp hello.cpp factorial.cpp 
  8.  
  9. OBJECTS=$(SOURCES:.cpp=.o) 
  10.  
  11. EXECUTABLE=hello 
  12.  
  13.   
  14.  
  15. all: $(SOURCES) $(EXECUTABLE) 
  16.  
  17.        
  18.  
  19. $(EXECUTABLE): $(OBJECTS) 
  20.  
  21.        $(CC) $(LDFLAGS) $(OBJECTS) -o $@ 
  22.  
  23.   
  24.  
  25. .cpp.o: 
  26.  
  27.        $(CC) $(CFLAGS) $< -o $@ 
  28.  
  29. Hello.c