文件目录如下:
./src/ 这里放.c文件
./include/ 这里放.h文件
./obj/ 这里放.o文件
./app 这个是要生成的可执行文件
本人实在无法理解makefile,更写不出这么复杂的makefile,求高手指点
------解决方案--------------------------------------------------------
自己修改下 这个是通用的makefile 改下目录 库文件
# Makefile for vod
CC = gcc
LIB_PATH := ./lib
SRC_PATH := ./src
INC_PATH := ./inc
MXML_INC_PATH := ./lib/mxml
ALL_INC_PATH := -I$(INC_PATH) -I$(MXML_INC_PATH)
CFLAGS := -Wall -g $(ALL_INC_PATH)
LIB_ALL = -lpthread -L$(LIB_PATH) -lmxml
SRC_FILES = $(wildcard $(SRC_PATH)/*.c)
OBJ_FILES = $(patsubst %.c, %.o, $(SRC_FILES))
TARG_OBJ = vod
DEPS_FILE = makefile.deps
all:$(TARG_OBJ) $(DEPS_FILE)
$(TARG_OBJ):$(OBJ_FILES)
$(CC) -o $@ $^ $(LIB_ALL)
$(DEPS_FILE):$(SRC_FILES)
$(CC) -MM $(ALL_INC_PATH) $^ > $(DEPS_FILE)
-include $(DEPS_FILE)
.PHONY:libs
libs:
cd $(LIB_PATH)&&$(MAKE)
.PHONY:cleanlibs
cleanlibs:
cd $(LIB_PATH)&&$(MAKE) clean
.PHONY:clean
clean:
-rm -f $(OBJ_FILES) $(DEPS_FILE)
------解决方案--------------------------------------------------------
搜“跟我一起写makefile”
------解决方案--------------------------------------------------------
用automake工具吧
------解决方案--------------------------------------------------------
http://www.gnu.org/software/make/manual/