xref: /aosp_15_r20/external/lz4/contrib/gen_manual/Makefile (revision 27162e4e17433d5aa7cb38e7b6a433a09405fc7f)
1*27162e4eSAndroid Build Coastguard Worker# ################################################################
2*27162e4eSAndroid Build Coastguard Worker# Copyright (C) Przemyslaw Skibinski 2016-present
3*27162e4eSAndroid Build Coastguard Worker# All rights reserved.
4*27162e4eSAndroid Build Coastguard Worker#
5*27162e4eSAndroid Build Coastguard Worker# BSD license
6*27162e4eSAndroid Build Coastguard Worker# Redistribution and use in source and binary forms, with or without modification,
7*27162e4eSAndroid Build Coastguard Worker# are permitted provided that the following conditions are met:
8*27162e4eSAndroid Build Coastguard Worker#
9*27162e4eSAndroid Build Coastguard Worker# * Redistributions of source code must retain the above copyright notice, this
10*27162e4eSAndroid Build Coastguard Worker#   list of conditions and the following disclaimer.
11*27162e4eSAndroid Build Coastguard Worker#
12*27162e4eSAndroid Build Coastguard Worker# * Redistributions in binary form must reproduce the above copyright notice, this
13*27162e4eSAndroid Build Coastguard Worker#   list of conditions and the following disclaimer in the documentation and/or
14*27162e4eSAndroid Build Coastguard Worker#   other materials provided with the distribution.
15*27162e4eSAndroid Build Coastguard Worker#
16*27162e4eSAndroid Build Coastguard Worker# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17*27162e4eSAndroid Build Coastguard Worker# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18*27162e4eSAndroid Build Coastguard Worker# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19*27162e4eSAndroid Build Coastguard Worker# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
20*27162e4eSAndroid Build Coastguard Worker# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21*27162e4eSAndroid Build Coastguard Worker# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22*27162e4eSAndroid Build Coastguard Worker# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
23*27162e4eSAndroid Build Coastguard Worker# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24*27162e4eSAndroid Build Coastguard Worker# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25*27162e4eSAndroid Build Coastguard Worker# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*27162e4eSAndroid Build Coastguard Worker#
27*27162e4eSAndroid Build Coastguard Worker# You can contact the author at :
28*27162e4eSAndroid Build Coastguard Worker#  - LZ4 source repository : https://github.com/Cyan4973/lz4
29*27162e4eSAndroid Build Coastguard Worker#  - LZ4 forum froup : https://groups.google.com/forum/#!forum/lz4c
30*27162e4eSAndroid Build Coastguard Worker# ################################################################
31*27162e4eSAndroid Build Coastguard Worker
32*27162e4eSAndroid Build Coastguard Worker
33*27162e4eSAndroid Build Coastguard WorkerCXXFLAGS ?= -O2
34*27162e4eSAndroid Build Coastguard WorkerCXXFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wno-comment
35*27162e4eSAndroid Build Coastguard WorkerCPPFLAGS += $(MOREFLAGS)
36*27162e4eSAndroid Build Coastguard WorkerFLAGS   = $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
37*27162e4eSAndroid Build Coastguard Worker
38*27162e4eSAndroid Build Coastguard WorkerLZ4API = ../../lib/lz4.h
39*27162e4eSAndroid Build Coastguard WorkerLZ4MANUAL = ../../doc/lz4_manual.html
40*27162e4eSAndroid Build Coastguard WorkerLZ4FAPI = ../../lib/lz4frame.h
41*27162e4eSAndroid Build Coastguard WorkerLZ4FMANUAL = ../../doc/lz4frame_manual.html
42*27162e4eSAndroid Build Coastguard WorkerLIBVER_MAJOR_SCRIPT:=`sed -n '/define[[:blank:]][[:blank:]]*LZ4_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LZ4API)`
43*27162e4eSAndroid Build Coastguard WorkerLIBVER_MINOR_SCRIPT:=`sed -n '/define[[:blank:]][[:blank:]]*LZ4_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LZ4API)`
44*27162e4eSAndroid Build Coastguard WorkerLIBVER_PATCH_SCRIPT:=`sed -n '/define[[:blank:]][[:blank:]]*LZ4_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LZ4API)`
45*27162e4eSAndroid Build Coastguard WorkerLIBVER_SCRIPT:= $(LIBVER_MAJOR_SCRIPT).$(LIBVER_MINOR_SCRIPT).$(LIBVER_PATCH_SCRIPT)
46*27162e4eSAndroid Build Coastguard WorkerLZ4VER := $(shell echo $(LIBVER_SCRIPT))
47*27162e4eSAndroid Build Coastguard Worker
48*27162e4eSAndroid Build Coastguard Worker# Define *.exe as extension for Windows systems
49*27162e4eSAndroid Build Coastguard Workerifneq (,$(filter Windows%,$(OS)))
50*27162e4eSAndroid Build Coastguard WorkerEXT =.exe
51*27162e4eSAndroid Build Coastguard Workerelse
52*27162e4eSAndroid Build Coastguard WorkerEXT =
53*27162e4eSAndroid Build Coastguard Workerendif
54*27162e4eSAndroid Build Coastguard Worker
55*27162e4eSAndroid Build Coastguard Worker
56*27162e4eSAndroid Build Coastguard Worker.PHONY: default
57*27162e4eSAndroid Build Coastguard Workerdefault: gen_manual
58*27162e4eSAndroid Build Coastguard Worker
59*27162e4eSAndroid Build Coastguard Workergen_manual: gen_manual.cpp
60*27162e4eSAndroid Build Coastguard Worker	$(CXX) $(FLAGS) $^ -o $@$(EXT)
61*27162e4eSAndroid Build Coastguard Worker
62*27162e4eSAndroid Build Coastguard Worker$(LZ4MANUAL) : gen_manual $(LZ4API)
63*27162e4eSAndroid Build Coastguard Worker	echo "Update lz4 manual in /doc"
64*27162e4eSAndroid Build Coastguard Worker	./gen_manual $(LZ4VER) $(LZ4API) $@
65*27162e4eSAndroid Build Coastguard Worker
66*27162e4eSAndroid Build Coastguard Worker$(LZ4FMANUAL) : gen_manual $(LZ4FAPI)
67*27162e4eSAndroid Build Coastguard Worker	echo "Update lz4frame manual in /doc"
68*27162e4eSAndroid Build Coastguard Worker	./gen_manual $(LZ4VER) $(LZ4FAPI) $@
69*27162e4eSAndroid Build Coastguard Worker
70*27162e4eSAndroid Build Coastguard Worker.PHONY: manuals
71*27162e4eSAndroid Build Coastguard Workermanuals: $(LZ4MANUAL) $(LZ4FMANUAL)
72*27162e4eSAndroid Build Coastguard Worker
73*27162e4eSAndroid Build Coastguard Worker.PHONY: clean
74*27162e4eSAndroid Build Coastguard Workerclean:
75*27162e4eSAndroid Build Coastguard Worker	@$(RM) gen_manual$(EXT)
76*27162e4eSAndroid Build Coastguard Worker	@echo Cleaning completed
77