Makefile

PROGRAM = main

CFILES = $(wildcard *.c)

SFILES = $(wildcard *.s)

COBJS = $(CFILES:.c=.o)

DEPS = $(patsubst %.o, %.d, $(COBJS))

SOBJS = $(SFILES:.s=.o)

AS = as

CC = gcc

CFLAG = -c -g

LDFLAG =

RM = rm -rf

.PHONY : all clean distclean rebuild

all: $(PROGRAM) clean

%.d : %.c
        $(CC) -MM -MD $(CFLAG) $< -o .deps/$@

%.o : %.c
        $(CC) $(CFLAG)  $<

%.o : %.s
        $(AS) -o $@ $*.s

$(PROGRAM) : $(COBJS) $(SOBJS)
ifeq ($(COBJS),)
        ld -o $@ $^ --dynamic-linker /lib/ld-linux.so.2 -lc
else
        $(CC) -o $@ $^ $(LDFLAG)
endif

-include $(shell [ -d .deps ] || mkdir -p .deps) $(DEPS)

clean:
        $(RM) *.o

distclean: clean
        $(RM) $(PROGRAM) .deps

rebuild: distclean all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值