Makefile 小结 v1

本文提供了一个实用的Makefile模板,包括通用配置项如编译器选择、编译选项等,并展示了如何利用这些配置来构建具体的目标文件。适用于初学者及需要快速搭建Makefile项目的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于Makefile不是很熟悉,为了以后使用方便,在此记录一个常用Makefile,并且会继续更新。

common stanza:

#common header
SHELL = /bin/sh

CC=gcc
COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDDIR) $(LDFLAGS)
LDDIR=-L../lib
LDLIBS=../lib/libapue.a $(EXTRALIBS)
CFLAGS=-I../include -Wall -D_GNU_SOURCE $(EXTRA)

LIB=../libapue.a

.SUFFIXES:
.SUFFIXES: .c .o

使用公共部分来创建具体的target。

include ../Makefile.common

PROGS = test_orphan test_hello

all: ${PROGS}

clean:
    rm -f ${PROGS}

创建一个lib archive的Makefile:

include ../Makefile.common

# for ar parts
AR = ar
LIBMISC = libapue.a
OBJS = error.o errorlog.o pathalloc.o prexit.o prmask.o

RANLIB = ranlib

all: ${OBJS}
        ${AR} rv ${LIBMISC} $?
        ${RANLIB} ${LIBMISC}

clean:
        rm -f *.o a.out core temp.* ${LIBMISC}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值