# Default options
USE_BSDIFF ?= y

EXECUTABLES-y := bspatch
LIBRARIES-y := libbspatch.so
EXECUTABLES-$(USE_BSDIFF) += bsdiff
LIBRARIES-$(USE_BSDIFF) += libbsdiff.so

BINARIES := $(EXECUTABLES-y) $(LIBRARIES-y)

INSTALL = install
CPPFLAGS += -Iinclude -I..
CXXFLAGS += -std=c++11 -O3 -Wall -Werror -fPIC

DESTDIR ?=
PREFIX = /usr
BINDIR = $(PREFIX)/bin
DATADIR = $(PREFIX)/share
MANDIR = $(DATADIR)/man
MAN1DIR = $(MANDIR)/man1
INCLUDEDIR ?= $(PREFIX)/include
GENTOO_LIBDIR ?= lib
LIBDIR ?= $(PREFIX)/$(GENTOO_LIBDIR)
INSTALL_PROGRAM ?= $(INSTALL) -c -m 755
INSTALL_MAN ?= $(INSTALL) -c -m 444

.PHONY: all test clean install
all: $(BINARIES)
test: bsdiff_unittest
clean:
	rm -f *.o $(BINARIES) bsdiff_unittest

### List of source files for each project. Keep in sync with the Android.mk.
# "bsdiff" program.
bsdiff_src_files := \
    brotli_compressor.cc \
    bsdiff.cc \
    bz2_compressor.cc \
    compressor_buffer.cc \
    compressor_interface.cc \
    diff_encoder.cc \
    endsley_patch_writer.cc \
    logging.cc \
    patch_writer.cc \
    patch_writer_factory.cc \
    split_patch_writer.cc \
    suffix_array_index.cc

# "bspatch" program.
bspatch_src_files := \
    brotli_decompressor.cc \
    bspatch.cc \
    bz2_decompressor.cc \
    buffer_file.cc \
    decompressor_interface.cc \
    extents.cc \
    extents_file.cc \
    file.cc \
    logging.cc \
    memory_file.cc \
    patch_reader.cc \
    sink_file.cc \
    utils.cc

# Unit test files.
bsdiff_common_unittests := \
    brotli_compressor_unittest.cc \
    bsdiff_unittest.cc \
    bspatch_unittest.cc \
    diff_encoder_unittest.cc \
    endsley_patch_writer_unittest.cc \
    extents_file_unittest.cc \
    extents_unittest.cc \
    patch_reader_unittest.cc \
    patch_writer_unittest.cc \
    split_patch_writer_unittest.cc \
    suffix_array_index_unittest.cc \
    test_utils.cc \
    testrunner.cc


BSDIFF_LIBS := -lbz2 -lbrotlienc -ldivsufsort -ldivsufsort64
BSDIFF_OBJS := $(bsdiff_src_files:.cc=.o)

BSPATCH_LIBS := -lbz2 -lbrotlidec
BSPATCH_OBJS := $(bspatch_src_files:.cc=.o)

UNITTEST_LIBS = -lgmock -lgtest -lpthread
UNITTEST_OBJS := $(bsdiff_common_unittests:.cc=.o)

bsdiff: $(BSDIFF_OBJS) bsdiff_main.o
bsdiff: LDLIBS += $(BSDIFF_LIBS)
libbsdiff.so: $(BSDIFF_OBJS)
libbsdiff.so: LDLIBS += $(BSDIFF_LIBS)

bspatch: $(BSPATCH_OBJS) bspatch_main.o
bspatch: LDLIBS += $(BSPATCH_LIBS)
libbspatch.so: $(BSPATCH_OBJS)
libbspatch.so: LDLIBS += $(BSPATCH_LIBS)

bsdiff_unittest: LDLIBS += $(BSDIFF_LIBS) $(BSPATCH_LIBS) $(UNITTEST_LIBS)
bsdiff_unittest: $(BSPATCH_OBJS) $(BSDIFF_OBJS) $(UNITTEST_OBJS)

bsdiff_unittest bsdiff bspatch:
	$(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS)

libbsdiff.so libbspatch.so:
	$(CXX) $(CXXFLAGS) $(LDFLAGS) -Wl,-soname,$@ -shared -o $@ $^ $(LDLIBS)

# Source file dependencies.
bspatch.o: bspatch.cc include/bsdiff/bspatch.h \
 include/bsdiff/extents_file.h include/bsdiff/file_interface.h \
 buffer_file.h extents.h file.h memory_file.h sink_file.h
bspatch_main.o: bspatch_main.cc include/bsdiff/bspatch.h \
 include/bsdiff/extents_file.h include/bsdiff/file_interface.h
bspatch_unittest.o: bspatch_unittest.cc include/bsdiff/bspatch.h \
 include/bsdiff/extents_file.h include/bsdiff/file_interface.h \
 test_utils.h
buffer_file.o: buffer_file.cc buffer_file.h \
 include/bsdiff/file_interface.h include/bsdiff/bspatch.h \
 include/bsdiff/extents_file.h
extents.o: extents.cc extents.h include/bsdiff/extents_file.h \
 include/bsdiff/file_interface.h
extents_file.o: extents_file.cc include/bsdiff/extents_file.h \
 include/bsdiff/file_interface.h
extents_file_unittest.o: extents_file_unittest.cc \
 include/bsdiff/extents_file.h include/bsdiff/file_interface.h
extents_unittest.o: extents_unittest.cc extents.h \
 include/bsdiff/extents_file.h include/bsdiff/file_interface.h
file.o: file.cc file.h include/bsdiff/file_interface.h
memory_file.o: memory_file.cc memory_file.h \
 include/bsdiff/file_interface.h
sink_file.o: sink_file.cc sink_file.h include/bsdiff/file_interface.h
testrunner.o: testrunner.cc test_utils.h
test_utils.o: test_utils.cc test_utils.h

install:
	mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(MAN1DIR) \
	  $(DESTDIR)/$(INCLUDEDIR)/bsdiff
	$(INSTALL_PROGRAM) $(EXECUTABLES-y) $(DESTDIR)$(BINDIR)
	$(INSTALL_PROGRAM) $(LIBRARIES-y) $(DESTDIR)$(LIBDIR)
	$(INSTALL) -c -m 644 include/bsdiff/*.h $(DESTDIR)/$(INCLUDEDIR)/bsdiff
ifndef WITHOUT_MAN
	$(INSTALL_MAN) $(EXECUTABLES-y:=.1) $(DESTDIR)$(MAN1DIR)
endif
