ตัวอย่างไฟล์ Makefile อย่างง่ายแบบที่ 1
Copy all: hello
hello: main.o factorial.o hello.o
g ++ main.o factorial.o hello.o - o hello
main.o: main.cpp
g ++ - c main.cpp
factorial.o: factorial.cpp
g ++ - c factorial.cpp
hello.o: hello.cpp
g ++ - c hello.cpp
clean:
rm - rf * o hello
ตัวอย่างไฟล์ Makefile อย่างง่ายแบบที่ 2
Copy # the compiler to use
CC = g ++
# options passed to the compiler
CFLAGS =- c - Wall
all: hello
hello: main.o factorial.o hello.o
$(CC) main.o factorial.o hello.o - o hello
main.o: main.cpp
$(CC) $(CFLAGS) main.cpp
factorial.o: factorial.cpp
$(CC) $(CFLAGS) factorial.cpp
hello.o: hello.cpp
$(CC) $(CFLAGS) hello.cpp
clean:
rm - rf * o hello
ตัวอย่างไฟล์ Makefile อย่างง่ายแบบที่ 3
Copy CC = g ++
CFLAGS =- c - Wall
LDFLAGS =
SOURCES = main.cpp hello.cpp factorial.cpp
OBJECTS = $(SOURCES:.cpp = .o)
EXECUTABLE = hello
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) - o $@
.cpp.o:
$(CC) $(CFLAGS) $ < - o $@
clean:
rm - rf $(OBJECTS) $(EXECUTABLE)
ตัวอย่างไฟล์ Makefile อย่างง่ายแบบที่ 4
ในกรณีที่มีการอ้างอิง (include) ไฟล์ header (.h) เพิ่มหรือไลบรารีภายนอกเพิ่มเติม จะต้องใส่ option -I และ -l เพิ่มเข้าไป
Copy CC = g ++
CFLAGS =- c - Wall
LDFLAGS =
SOURCES = main.cpp hello.cpp factorial.cpp
OBJECTS = $(SOURCES:.cpp = .o)
MY_INCLUDES =/ home / student / project / myLib /
MY_LIBRARIES = zlib fltk
EXECUTABLE = hello
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) - I$(MY_INCLUDES) $(LDFLAGS) $(OBJECTS) - o $@ - l$(MY_LIBRARIES)
@echo "Compile hello completed..."
.cpp.o:
$(CC) $(CFLAGS) $ < - o $@
@echo "Compile all object files completed..."
clean:
rm - rf $(OBJECTS) $(EXECUTABLE)
@echo "Clean all object files and hello program done..."