当前位置: 技术问答>linux和unix
Makefile目标文件的目录如何设置啊?
来源: 互联网 发布时间:2017-01-09
本文导语: 项目的目录结构是这样的,想把目标文件全部生成在objs目录下: |--src |--objs |-Makefile makefile写法如下: =================================start================================== EXENAME=DTest vpath %.c ./src OBJS_DIR=./objs SRCS=$(wildcard *.c) OBJ...
项目的目录结构是这样的,想把目标文件全部生成在objs目录下:
|--src
|--objs
|-Makefile
makefile写法如下:
=================================start==================================
EXENAME=DTest
vpath %.c ./src
OBJS_DIR=./objs
SRCS=$(wildcard *.c)
OBJS=$(patsubst %.c, $(OBJ_DIR)/%.o, $(SRCS))
CC = gcc
#-O2 -g
CFLAGS = -g -O3 -fPIC -Wall -DEXENAME='"$(EXENAME)"' -D__DEBUG
$(EXENAME):$(OBJS)
$(CC) $^ -o $@ -lm -lpthread -lz
$(OBJS_DIR)/%.o:%.c
$(CC) $(CFLAGS) -c -o $@ $
|--src
|--objs
|-Makefile
makefile写法如下:
=================================start==================================
EXENAME=DTest
vpath %.c ./src
OBJS_DIR=./objs
SRCS=$(wildcard *.c)
OBJS=$(patsubst %.c, $(OBJ_DIR)/%.o, $(SRCS))
CC = gcc
#-O2 -g
CFLAGS = -g -O3 -fPIC -Wall -DEXENAME='"$(EXENAME)"' -D__DEBUG
$(EXENAME):$(OBJS)
$(CC) $^ -o $@ -lm -lpthread -lz
$(OBJS_DIR)/%.o:%.c
$(CC) $(CFLAGS) -c -o $@ $