一个makefile调用多个makefile 文件示例

项目1makefile:

LIBDIR = /root

INCDIR = . ./Include

 

TARGET = x

MAKEFILE = makefile

LIBS = dl pthread rt

TXLIB = aes

 

#CC = gcc -ggdb

CC = gcc

CPPFLAGS = -MD

# add -D_INTERRUPT to CFLAGS to switch to interrupt mode.

CFLAGS := -O -Wall -D_REENTRANT -fPIC $(addprefix -I, $(INCDIR)) -g

LDFLAGS = -Wl,-Bsymbolic -rdynamic

 

SOURCE := $(wildcard *.c) $(wildcard *.cpp)

OBJS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

DEPS := $(patsubst %.o,%.d,$(OBJS))

 

all : $(TARGET)

 

clean :

        -rm -f  ../$(TARGET) $(OBJS) $(DEPS) *~ core*

 

-include $(DEPS)

 

$(TARGET) : $(OBJS) $(MAKEFILE)

        $(CC) -o ../$(TARGET) $(LDFLAGS) $(OBJS) $(addprefix -l,$(LIBS)) -laes -L/usr/lib/mysql -lmysqlclient -lm -lz -lstdc++ 

 

项目2makefile:

TARGET=moni_x

CC=gcc

CFLAGS=-Wall -O -g

SOURCE=$(wildcard *.c)

OBJS=${SOURCE:.c=.o}

 

all: $(TARGET)

$(TARGET):$(OBJS)

        $(CC) $(CFLAGS)  $^ -o ../$@

#       $(CC) $(CFLAGS) $(OBJS) -o ../$(TARGET)

 

.PHONY: clean

clean:

        rm -rf  ../$(TARGET) $(OBJS) *~ core*

总makefile:

SUBDIRS = Clean-with-com4  moni_x

 

all:

        @list='$(SUBDIRS)'; for subdir in $$list; do /

                echo "Making all in $$list"; /

                (cd $$subdir && make all); /

        done;

 

.PHONY: clean

 

clean:

        @list='$(SUBDIRS)'; for subdir in $$list; do /

                echo "Clean in $$subdir"; /

                (cd $$subdir && make clean); /

        done

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值