initial
This commit is contained in:
50
vnproglib/c/Makefile
Normal file
50
vnproglib/c/Makefile
Normal file
@ -0,0 +1,50 @@
|
||||
CC = gcc
|
||||
INCLUDES = -Iinclude
|
||||
CFLAGS = -Wall -Wpedantic -std=c90
|
||||
BINDIR = build
|
||||
OBJDIR = build/obj
|
||||
|
||||
SOURCES = \
|
||||
src/vn/conv.c \
|
||||
src/vn/error.c \
|
||||
src/vn/error_detection.c \
|
||||
src/vn/sensors.c \
|
||||
src/vn/util.c \
|
||||
src/vn/math/matrix.c \
|
||||
src/vn/math/vector.c \
|
||||
src/vn/protocol/spi.c \
|
||||
src/vn/protocol/upack.c \
|
||||
src/vn/protocol/upackf.c \
|
||||
src/vn/sensors/compositedata.c \
|
||||
src/vn/sensors/ezasyncdata.c \
|
||||
src/vn/sensors/searcher.c \
|
||||
src/vn/xplat/criticalsection.c \
|
||||
src/vn/xplat/event.c \
|
||||
src/vn/xplat/serialport.c \
|
||||
src/vn/xplat/thread.c \
|
||||
src/vn/xplat/time.c
|
||||
|
||||
# Set the object file names, with the source directory stripped
|
||||
# from the path, and the build path prepended in its place
|
||||
OBJECTS = $(SOURCES:src/%.c=$(OBJDIR)/%.o)
|
||||
|
||||
all: dirs lib
|
||||
|
||||
lib: libvnc.a
|
||||
|
||||
libvnc.a: $(OBJECTS)
|
||||
ar -cvq $(BINDIR)/libvnc.a $(OBJECTS)
|
||||
|
||||
# Create the directories used in the build
|
||||
.PHONY: dirs
|
||||
dirs:
|
||||
@mkdir -p $(BINDIR)
|
||||
@mkdir -p $(OBJDIR)
|
||||
@mkdir -p $(dir $(OBJECTS))
|
||||
|
||||
$(OBJDIR)/%.o: src/%.c
|
||||
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(BINDIR)/libvnc.a
|
||||
rm -f $(OBJECTS)
|
||||
Reference in New Issue
Block a user