Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
SRCDIR := $(abspath $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))

USE_EXTERNAL_LIBDEFLATE ?= 0
USE_EXTERNAL_LIBZOPFLI ?= 0

PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
Expand All @@ -23,6 +24,10 @@ LIBS_LZ4 = $(shell $(PKG_CONFIG) --libs liblz4)
CFLAGS_ZLIB = $(shell $(PKG_CONFIG) --cflags zlib)
LIBS_ZLIB = $(shell $(PKG_CONFIG) --libs zlib)

CFLAGS_7ZIP = -Wno-sign-compare -Wno-unused-parameter -Wno-misleading-indentation \
-Wno-parentheses
CXXFLAGS_7ZIP = $(CFLAGS_7ZIP) -Wno-reorder -Wno-class-memaccess

DEP_FLAGS := $(CFLAGS_UV) $(CFLAGS_LZ4) $(CFLAGS_ZLIB)
LIBS := $(LIBS_UV) $(LIBS_LZ4) $(LIBS_ZLIB)

Expand Down Expand Up @@ -62,7 +67,7 @@ endif
SRC_7ZIP := $(OBJDIR)/7zip/7zip.a
SRC_LIBDEFLATE := $(SRCDIR)/libdeflate/$(LIBDEFLATE)

OBJS := $(SRC_CXX_OBJ) $(CLI_CXX_OBJ) $(ZOPFLI_C_OBJ) $(SRC_7ZIP)
OBJS := $(SRC_CXX_OBJ) $(CLI_CXX_OBJ) $(SRC_7ZIP)

ifeq ($(USE_EXTERNAL_LIBDEFLATE), 0)
OBJS += $(SRC_LIBDEFLATE)
Expand All @@ -73,6 +78,12 @@ else
LIBS += $(LIBS_LIBDEFLATE)
endif

ifeq ($(USE_EXTERNAL_LIBZOPFLI), 0)
OBJS += $(ZOPFLI_C_OBJ)
else
LIBS += -lzopfli
endif

.PHONY: all clean install uninstall

all: maxcso
Expand All @@ -86,6 +97,8 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.c $(OBJDIR)/.done
maxcso: $(OBJS)
$(CXX) $(LDFLAGS) -o $@ $(SRC_CXXFLAGS) $(CXXFLAGS) $^ $(LIBS)

$(SRC_7ZIP): override CFLAGS := $(CFLAGS_7ZIP) $(CFLAGS)
$(SRC_7ZIP): override CXXFLAGS := $(CXXFLAGS_7ZIP) $(CXXFLAGS)
$(SRC_7ZIP):
$(MAKE) -f $(SRCDIR)/7zip/Makefile 7zip.a

Expand Down