Makefile 编译多个目标文件

Makefile 编译多个目标文件

Makefile编译多个目标文件

1
TARGET := signal_send signal_recieve method_send method_recieve

CC := gcc
CFLAGS  := `pkg-config --cflags dbus-1`
LDFLAGS := `pkg-config --libs   dbus-1`

all: $(TARGET)

signal_send: signal_send.c
        $(CC)  $< -o $@ $(CFLAGS) $(LDFLAGS)

signal_recieve: signal_recieve.c
        $(CC)  $< -o $@ $(CFLAGS) $(LDFLAGS)

method_send: method_send.c
        $(CC)  $< -o $@ $(CFLAGS) $(LDFLAGS)

method_recieve: method_recieve.c
        $(CC)  $< -o $@ $(CFLAGS) $(LDFLAGS)

clean:
        rm -rf $(TARGET)
.PHONY:clean

2

CC      = gcc
TARGET1 =       enroll_sync_so_app
TARGET2 =       verify_sync_so_app
LIBSPATH = /usr/lib/x86_64-linux-gnu/
PLATFORM = linux32
#LIBS   = /usr/local/lib -lusb-1.0
LIBS    = -lusb-1.0 -lm -lpthread -I.  -L. -lCSAlgDll
INC     = /usr/include/libusb-1.0

EXCHAR  = -fexec-charset=GB18030

# Source files
SRCS1 = enroll_sync_so_app.c  xqh_alg.c usb_ops.c
SRCS2 = verify_sync_so_app.c  xqh_alg.c usb_ops.c

# Object files
OBJS1   = $(SRCS1:.c=.o)
OBJS2   = $(SRCS2:.c=.o)

# Make everything
all:    $(TARGET1) $(TARGET2)

$(TARGET1): $(OBJS1)
        $(CC) $(CFLAGS) $(EXCHAR) -o $(TARGET1) $(OBJS1)  $(LIBS)

$(OBJS1): %.o: %.c
        $(CC) -c $(CFLAGS) $(EXCHAR) -o $@ $< -I$(INC)
#

$(TARGET2): $(OBJS2)
        $(CC) $(CFLAGS) $(EXCHAR) -o $(TARGET2) $(OBJS2)  $(LIBS)

$(OBJS2): %.o: %.c
        $(CC) -c $(CFLAGS) $(EXCHAR) -o $@ $< -I$(INC)
# Clean all object files...
#

clean:
        $(RM) $(OBJS1) $(TARGET1)
        $(RM) $(OBJS2) $(TARGET2)
                                        
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值