1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
###############################################################################
#
# Makefile for libxlsxwriter examples.
#
# Copyright 2014-2026, John McNamara, jmcnamara@cpan.org
#
# Keep the output quiet by default.
Q=@
ifdef V
Q=
endif
# Directory variables.
INC_DIR = ../include
# Flags passed to the C++ compiler.
CFLAGS += -g -Wall -Wextra
# Source files to compile.
SRCS = $(wildcard *.c)
EXES = $(patsubst %.c,%,$(SRCS))
LIBXLSXWRITER = ../src/libxlsxwriter.a
LIBS = $(LIBXLSXWRITER) -lz
ifdef USE_SYSTEM_MINIZIP
LIBS += -lminizip
endif
ifdef USE_OPENSSL_MD5
LIBS += -lcrypto
endif
all : $(LIBXLSXWRITER) $(EXES)
$(LIBXLSXWRITER):
$(Q)$(MAKE) -C ../third_party/minizip
ifndef USE_STANDARD_TMPFILE
$(Q)$(MAKE) -C ../third_party/tmpfileplus
endif
ifndef USE_STANDARD_DOUBLE
$(Q)$(MAKE) -C ../third_party/dtoa
endif
ifndef USE_NO_MD5
$(Q)$(MAKE) -C ../third_party/md5
endif
$(Q)$(MAKE) -C ../src
clean :
$(Q)rm -f $(EXES)
# Executable targets.
%: %.c $(LIBXLSXWRITER)
$(Q)$(CC) -I$(INC_DIR) $(CFLAGS) $< -o $@ $(LIBS)
test_valgrind: all
$(Q)$(foreach exe,$(EXES),valgrind -q --error-exitcode=1 --leak-check=full ./$(exe) || exit;)
|