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)