| | |
| | | |
| | | VERSION = 0.3.0 |
| | | LIBNAME = scpi |
| | | |
| | | |
| | | CFLAGS += -Wextra -O1 -g -fPIC -Iinc |
| | | CFLAGS += -Wextra -g -Iinc |
| | | LDFLAGS += -Wl,--as-needed |
| | | TESTFLAGS += -lcunit |
| | | TESTFLAGS += -lcunit $(CFLAGS) |
| | | |
| | | OBJDIR=obj |
| | | DISTDIR=dist |
| | | TESTDIR=test |
| | | |
| | | STATICLIBFLAGS = rcs |
| | | SHAREDLIBFLAGS = $(LDFLAGS) -shared -Wl,-soname |
| | | |
| | | |
| | | STATICLIB = lib$(LIBNAME).a |
| | | SHAREDLIB = lib$(LIBNAME).so |
| | | |
| | | SHAREDLIBVER = $(SHAREDLIB).$(VERSION) |
| | | |
| | | SRCS = $(addprefix src/, \ |
| | | debug.c error.c fifo.c ieee488.c \ |
| | | minimal.c parser.c units.c utils.c \ |
| | | lexer.c \ |
| | | ) |
| | | |
| | | OBJS = $(addprefix $(OBJDIR)/, $(notdir $(SRCS:.c=.o))) |
| | | |
| | | HDRS = $(addprefix inc/scpi/, \ |
| | | scpi.h constants.h debug.h error.h \ |
| | | fifo.h ieee488.h minimal.h parser.h \ |
| | | types.h units.h \ |
| | | ) src/utils.h |
| | | ieee488.h minimal.h parser.h types.h units.h \ |
| | | ) \ |
| | | $(addprefix src/, \ |
| | | lexer_private.h utils_private.h fifo_private.h \ |
| | | parser_private.h \ |
| | | ) \ |
| | | |
| | | |
| | | TESTS = $(addprefix test/, \ |
| | | test_fifo.c test_scpi_utils.c \ |
| | | test_fifo.c test_scpi_utils.c test_lexer_parser.c test_parser.c\ |
| | | ) |
| | | |
| | | TESTS_OBJS = $(TESTS:.c=.o) |
| | | TESTS_BINS = $(TESTS_OBJS:.o=.test) |
| | | |
| | | .PHONY: all clean static shared test |
| | | .PHONY: all clean static test |
| | | |
| | | all: static shared |
| | | all: static |
| | | |
| | | |
| | | $(OBJDIR): |
| | |
| | | $(DISTDIR)/$(STATICLIB): $(OBJS) |
| | | $(AR) $(STATICLIBFLAGS) $(DISTDIR)/$(STATICLIB) $(OBJS) |
| | | |
| | | $(DISTDIR)/$(SHAREDLIBVER): $(OBJS) |
| | | $(CC) $(SHAREDLIBFLAGS),$(SHAREDLIB) -o $(DISTDIR)/$(SHAREDLIBVER) $(OBJS) |
| | | |
| | | $(DISTDIR)/$(SHAREDLIB): $(DISTDIR)/$(SHAREDLIBVER) |
| | | $(RM) $(DISTDIR)/$(SHAREDLIB) |
| | | ln -s $(SHAREDLIBVER) $(DISTDIR)/$(SHAREDLIB) |
| | | |
| | | static: $(DISTDIR)/$(STATICLIB) |
| | | |
| | | shared: $(DISTDIR)/$(SHAREDLIB) |
| | | |
| | | |
| | | $(OBJS): $(HDRS) $(DISTDIR) $(OBJDIR) |
| | | |