77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| # ################################################################
 | |
| # Copyright (C) Przemyslaw Skibinski 2016-present
 | |
| # All rights reserved.
 | |
| #
 | |
| # BSD license
 | |
| # Redistribution and use in source and binary forms, with or without modification,
 | |
| # are permitted provided that the following conditions are met:
 | |
| #
 | |
| # * Redistributions of source code must retain the above copyright notice, this
 | |
| #   list of conditions and the following disclaimer.
 | |
| #
 | |
| # * Redistributions in binary form must reproduce the above copyright notice, this
 | |
| #   list of conditions and the following disclaimer in the documentation and/or
 | |
| #   other materials provided with the distribution.
 | |
| #
 | |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 | |
| # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 | |
| # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | |
| # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 | |
| # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | |
| # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | |
| # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 | |
| # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 | |
| # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| #
 | |
| # You can contact the author at :
 | |
| #  - LZ4 source repository : https://github.com/Cyan4973/lz4
 | |
| #  - LZ4 forum froup : https://groups.google.com/forum/#!forum/lz4c
 | |
| # ################################################################
 | |
| 
 | |
| 
 | |
| CXXFLAGS ?= -O3
 | |
| CXXFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wno-comment
 | |
| CXXFLAGS += $(MOREFLAGS)
 | |
| FLAGS   = $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
 | |
| 
 | |
| LZ4API = ../../lib/lz4.h
 | |
| LZ4MANUAL = ../../doc/lz4_manual.html
 | |
| LZ4FAPI = ../../lib/lz4frame.h
 | |
| LZ4FMANUAL = ../../doc/lz4frame_manual.html
 | |
| LIBVER_MAJOR_SCRIPT:=`sed -n '/define LZ4_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LZ4API)`
 | |
| LIBVER_MINOR_SCRIPT:=`sed -n '/define LZ4_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LZ4API)`
 | |
| LIBVER_PATCH_SCRIPT:=`sed -n '/define LZ4_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < $(LZ4API)`
 | |
| LIBVER_SCRIPT:= $(LIBVER_MAJOR_SCRIPT).$(LIBVER_MINOR_SCRIPT).$(LIBVER_PATCH_SCRIPT)
 | |
| LZ4VER := $(shell echo $(LIBVER_SCRIPT))
 | |
| 
 | |
| # Define *.exe as extension for Windows systems
 | |
| ifneq (,$(filter Windows%,$(OS)))
 | |
| EXT =.exe
 | |
| else
 | |
| EXT =
 | |
| endif
 | |
| 
 | |
| 
 | |
| .PHONY: default
 | |
| default: gen_manual
 | |
| 
 | |
| gen_manual: gen_manual.cpp
 | |
| 	$(CXX) $(FLAGS) $^ -o $@$(EXT)
 | |
| 
 | |
| $(LZ4MANUAL) : gen_manual $(LZ4API)
 | |
| 	echo "Update lz4 manual in /doc"
 | |
| 	./gen_manual $(LZ4VER) $(LZ4API) $@
 | |
| 
 | |
| $(LZ4FMANUAL) : gen_manual $(LZ4FAPI)
 | |
| 	echo "Update lz4frame manual in /doc"
 | |
| 	./gen_manual $(LZ4VER) $(LZ4FAPI) $@
 | |
| 
 | |
| .PHONY: manuals
 | |
| manuals: gen_manual $(LZ4MANUAL) $(LZ4FMANUAL)
 | |
| 
 | |
| .PHONY: clean
 | |
| clean:
 | |
| 	@$(RM) gen_manual$(EXT)
 | |
| 	@echo Cleaning completed
 |