- 论坛徽章:
- 0
|
- # My simple makefile
- #
- CC = gcc
- BIN_PROGRAM = xxx
- SOURCE_DIR = $(shell pwd)
- INCLUDE_DIR = $(SOURCE_DIR)/include
- SOURCE_FILES = $(wildcard *.c)
- OBJ_FILES = $(patsubst %.c, %.o, $(SOURCE_FILES))
- DEPEND_FILES = $(patsubst %.c, %.d, $(SOURCE_FILES))
- CFLAGS = -Wall -I$(INCLUDE_DIR)
- all: $(BIN_PROGRAM)
- %.o:%.c
- $(CC) $(CFLAGS) -c $< -o $@
- %.d:%.c
- @set -e; rm -f $@; \
- $(CC) $(CFLAGS) -MM $< > $@.$$; \
- sed 's,\($*\)\.o[:]*,\1.o $@: ,g' $@.$$ > $@; \
- rm -f $@.$$
- sinclude $(DEPEND_FILES)
- $(BIN_PROGRAM): $(OBJ_FILES)
- $(CC) $(CFLAGS) $^ -o $@
- clean:
- rm -f $(BIN_PROGRAM) $(OBJ_FILES) $(DEPEND_FILES) $(DEPEND_FILES).*
复制代码 试一试我的 |
|