- 论坛徽章:
- 0
|
方法1. 在每个目录下建立Makefile文件,在最外面的Makefile中cd到指定目录中执行$(MAKE),也是可以加参数的
方法2:就是查找每个需要编译的文件,然后进行编译,下面是一个例子
MW_DIR=$(PWD)
INCLUDE = -I$(MW_DIR)/include
INCLUDE+= -I.
#LIBPATH=-L $(MW_DIR)/lib //如果有库文件,可以这样指定
#LIB= -lpthread //libpthread.a
CC=gcc
CFLAGS=-DHI_DEBUG -g -Wall
//加入内部的头文件
SAMDIR=$(MW_DIR)/src
SAMINCH=$(shell find $(SAMDIR) -name '*.h')
SAMINCDIR=$(dir $(SAMINCH))
INCLUDE+= $(foreach temp,$(SAMINCDIR), -I$(temp))
//查找到需要编译的C文件
SRC=$(shell find $(SAMDIR) -name '*.c') //子目录的C文件
SRC+=$(wildcard *.c) //当前目录中的C文件
APP=$(SRC:%.c=%) //得到AP文件
all : $(APP)
$(APP): %: %.c
$(CC) $(CFLAGS) -o $@ $< $(INCLUDE) $(LIBPATH) $(LIB)
clean:
rm -fr $(APP)
[ 本帖最后由 longfang 于 2008-4-11 16:31 编辑 ] |
评分
-
查看全部评分
|