| LEVEL = ../../.. |
| |
| include $(LEVEL)/Makefile.config |
| |
| PROG = 7zip-benchmark |
| RUN_OPTIONS = b |
| |
| CFLAGS += -DBREAK_HANDLER -DUNICODE -D_UNICODE -I$(PROJ_SRC_DIR)/C \ |
| -I$(PROJ_SRC_DIR)/CPP/myWindows -I$(PROJ_SRC_DIR)/CPP/include_windows \ |
| -I$(PROJ_SRC_DIR)/CPP -I. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ |
| -DNDEBUG -D_REENTRANT -DENV_UNIX -D_7ZIP_LARGE_PAGES -pthread |
| |
| CXXFLAGS += -std=gnu++98 -DBREAK_HANDLER -DUNICODE -D_UNICODE -I$(PROJ_SRC_DIR)/C \ |
| -I$(PROJ_SRC_DIR)/CPP/myWindows -I$(PROJ_SRC_DIR)/CPP/include_windows \ |
| -I$(PROJ_SRC_DIR)/CPP -I. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ |
| -DNDEBUG -D_REENTRANT -DENV_UNIX -D_7ZIP_LARGE_PAGES -pthread |
| |
| LDFLAGS = -lstdc++ -pthread |
| |
| Source = \ |
| CPP/myWindows/myGetTickCount.cpp \ |
| CPP/myWindows/wine_date_and_time.cpp \ |
| CPP/myWindows/myAddExeFlag.cpp \ |
| CPP/myWindows/mySplitCommandLine.cpp \ |
| CPP/7zip/UI/Console/BenchCon.cpp \ |
| CPP/7zip/UI/Console/ConsoleClose.cpp \ |
| CPP/7zip/UI/Console/ExtractCallbackConsole.cpp \ |
| CPP/7zip/UI/Console/List.cpp \ |
| CPP/7zip/UI/Console/Main.cpp \ |
| CPP/7zip/UI/Console/MainAr.cpp \ |
| CPP/7zip/UI/Console/OpenCallbackConsole.cpp \ |
| CPP/7zip/UI/Console/PercentPrinter.cpp \ |
| CPP/7zip/UI/Console/UpdateCallbackConsole.cpp \ |
| CPP/7zip/UI/Console/UserInputUtils.cpp \ |
| CPP/Common/CommandLineParser.cpp \ |
| CPP/Common/CRC.cpp \ |
| CPP/Common/IntToString.cpp \ |
| CPP/Common/ListFileUtils.cpp \ |
| CPP/Common/StdInStream.cpp \ |
| CPP/Common/StdOutStream.cpp \ |
| CPP/Common/MyString.cpp \ |
| CPP/Common/StringConvert.cpp \ |
| CPP/Common/StringToInt.cpp \ |
| CPP/Common/UTFConvert.cpp \ |
| CPP/Common/MyWindows.cpp \ |
| CPP/Common/MyVector.cpp \ |
| CPP/Common/Wildcard.cpp \ |
| CPP/Windows/Error.cpp \ |
| CPP/Windows/FileDir.cpp \ |
| CPP/Windows/FileFind.cpp \ |
| CPP/Windows/FileIO.cpp \ |
| CPP/Windows/FileName.cpp \ |
| CPP/Windows/PropVariant.cpp \ |
| CPP/Windows/PropVariantConversions.cpp \ |
| CPP/Windows/Synchronization.cpp \ |
| CPP/Windows/System.cpp \ |
| CPP/Windows/Time.cpp \ |
| CPP/7zip/Common/CreateCoder.cpp \ |
| CPP/7zip/Common/CWrappers.cpp \ |
| CPP/7zip/Common/FilePathAutoRename.cpp \ |
| CPP/7zip/Common/FileStreams.cpp \ |
| CPP/7zip/Common/FilterCoder.cpp \ |
| CPP/7zip/Common/InBuffer.cpp \ |
| CPP/7zip/Common/InOutTempBuffer.cpp \ |
| CPP/7zip/Common/LimitedStreams.cpp \ |
| CPP/7zip/Common/LockedStream.cpp \ |
| CPP/7zip/Common/MemBlocks.cpp \ |
| CPP/7zip/Common/MethodId.cpp \ |
| CPP/7zip/Common/MethodProps.cpp \ |
| CPP/7zip/Common/OffsetStream.cpp \ |
| CPP/7zip/Common/OutBuffer.cpp \ |
| CPP/7zip/Common/OutMemStream.cpp \ |
| CPP/7zip/Common/ProgressMt.cpp \ |
| CPP/7zip/Common/ProgressUtils.cpp \ |
| CPP/7zip/Common/StreamBinder.cpp \ |
| CPP/7zip/Common/StreamObjects.cpp \ |
| CPP/7zip/Common/StreamUtils.cpp \ |
| CPP/7zip/Common/VirtThread.cpp \ |
| CPP/7zip/UI/Common/ArchiveCommandLine.cpp \ |
| CPP/7zip/UI/Common/ArchiveExtractCallback.cpp \ |
| CPP/7zip/UI/Common/ArchiveOpenCallback.cpp \ |
| CPP/7zip/UI/Common/Bench.cpp \ |
| CPP/7zip/UI/Common/DefaultName.cpp \ |
| CPP/7zip/UI/Common/EnumDirItems.cpp \ |
| CPP/7zip/UI/Common/Extract.cpp \ |
| CPP/7zip/UI/Common/ExtractingFilePath.cpp \ |
| CPP/7zip/UI/Common/LoadCodecs.cpp \ |
| CPP/7zip/UI/Common/OpenArchive.cpp \ |
| CPP/7zip/UI/Common/PropIDUtils.cpp \ |
| CPP/7zip/UI/Common/SetProperties.cpp \ |
| CPP/7zip/UI/Common/SortUtils.cpp \ |
| CPP/7zip/UI/Common/TempFiles.cpp \ |
| CPP/7zip/UI/Common/Update.cpp \ |
| CPP/7zip/UI/Common/UpdateAction.cpp \ |
| CPP/7zip/UI/Common/UpdateCallback.cpp \ |
| CPP/7zip/UI/Common/UpdatePair.cpp \ |
| CPP/7zip/UI/Common/UpdateProduce.cpp \ |
| CPP/7zip/Archive/Bz2Handler.cpp \ |
| CPP/7zip/Archive/DeflateProps.cpp \ |
| CPP/7zip/Archive/GzHandler.cpp \ |
| CPP/7zip/Archive/LzmaHandler.cpp \ |
| CPP/7zip/Archive/PpmdHandler.cpp \ |
| CPP/7zip/Archive/SplitHandler.cpp \ |
| CPP/7zip/Archive/XzHandler.cpp \ |
| CPP/7zip/Archive/ZHandler.cpp \ |
| CPP/7zip/Archive/Common/CoderMixer2.cpp \ |
| CPP/7zip/Archive/Common/CoderMixer2MT.cpp \ |
| CPP/7zip/Archive/Common/CrossThreadProgress.cpp \ |
| CPP/7zip/Archive/Common/DummyOutStream.cpp \ |
| CPP/7zip/Archive/Common/FindSignature.cpp \ |
| CPP/7zip/Archive/Common/HandlerOut.cpp \ |
| CPP/7zip/Archive/Common/InStreamWithCRC.cpp \ |
| CPP/7zip/Archive/Common/ItemNameUtils.cpp \ |
| CPP/7zip/Archive/Common/MultiStream.cpp \ |
| CPP/7zip/Archive/Common/OutStreamWithCRC.cpp \ |
| CPP/7zip/Archive/Common/ParseProperties.cpp \ |
| CPP/7zip/Archive/7z/7zCompressionMode.cpp \ |
| CPP/7zip/Archive/7z/7zDecode.cpp \ |
| CPP/7zip/Archive/7z/7zEncode.cpp \ |
| CPP/7zip/Archive/7z/7zExtract.cpp \ |
| CPP/7zip/Archive/7z/7zFolderInStream.cpp \ |
| CPP/7zip/Archive/7z/7zFolderOutStream.cpp \ |
| CPP/7zip/Archive/7z/7zHandler.cpp \ |
| CPP/7zip/Archive/7z/7zHandlerOut.cpp \ |
| CPP/7zip/Archive/7z/7zHeader.cpp \ |
| CPP/7zip/Archive/7z/7zIn.cpp \ |
| CPP/7zip/Archive/7z/7zOut.cpp \ |
| CPP/7zip/Archive/7z/7zProperties.cpp \ |
| CPP/7zip/Archive/7z/7zSpecStream.cpp \ |
| CPP/7zip/Archive/7z/7zUpdate.cpp \ |
| CPP/7zip/Archive/7z/7zRegister.cpp \ |
| CPP/7zip/Archive/Cab/CabBlockInStream.cpp \ |
| CPP/7zip/Archive/Cab/CabHandler.cpp \ |
| CPP/7zip/Archive/Cab/CabHeader.cpp \ |
| CPP/7zip/Archive/Cab/CabIn.cpp \ |
| CPP/7zip/Archive/Cab/CabRegister.cpp \ |
| CPP/7zip/Archive/Tar/TarHandler.cpp \ |
| CPP/7zip/Archive/Tar/TarHandlerOut.cpp \ |
| CPP/7zip/Archive/Tar/TarHeader.cpp \ |
| CPP/7zip/Archive/Tar/TarIn.cpp \ |
| CPP/7zip/Archive/Tar/TarOut.cpp \ |
| CPP/7zip/Archive/Tar/TarUpdate.cpp \ |
| CPP/7zip/Archive/Tar/TarRegister.cpp \ |
| CPP/7zip/Archive/Zip/ZipAddCommon.cpp \ |
| CPP/7zip/Archive/Zip/ZipHandler.cpp \ |
| CPP/7zip/Archive/Zip/ZipHandlerOut.cpp \ |
| CPP/7zip/Archive/Zip/ZipHeader.cpp \ |
| CPP/7zip/Archive/Zip/ZipIn.cpp \ |
| CPP/7zip/Archive/Zip/ZipItem.cpp \ |
| CPP/7zip/Archive/Zip/ZipOut.cpp \ |
| CPP/7zip/Archive/Zip/ZipUpdate.cpp \ |
| CPP/7zip/Archive/Zip/ZipRegister.cpp \ |
| CPP/7zip/Compress/Bcj2Coder.cpp \ |
| CPP/7zip/Compress/Bcj2Register.cpp \ |
| CPP/7zip/Compress/BcjCoder.cpp \ |
| CPP/7zip/Compress/BcjRegister.cpp \ |
| CPP/7zip/Compress/BitlDecoder.cpp \ |
| CPP/7zip/Compress/BranchCoder.cpp \ |
| CPP/7zip/Compress/BranchMisc.cpp \ |
| CPP/7zip/Compress/BranchRegister.cpp \ |
| CPP/7zip/Compress/ByteSwap.cpp \ |
| CPP/7zip/Compress/BZip2Crc.cpp \ |
| CPP/7zip/Compress/BZip2Decoder.cpp \ |
| CPP/7zip/Compress/BZip2Encoder.cpp \ |
| CPP/7zip/Compress/BZip2Register.cpp \ |
| CPP/7zip/Compress/CopyCoder.cpp \ |
| CPP/7zip/Compress/CopyRegister.cpp \ |
| CPP/7zip/Compress/Deflate64Register.cpp \ |
| CPP/7zip/Compress/DeflateDecoder.cpp \ |
| CPP/7zip/Compress/DeflateEncoder.cpp \ |
| CPP/7zip/Compress/DeflateRegister.cpp \ |
| CPP/7zip/Compress/DeltaFilter.cpp \ |
| CPP/7zip/Compress/ImplodeDecoder.cpp \ |
| CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp \ |
| CPP/7zip/Compress/Lzma2Decoder.cpp \ |
| CPP/7zip/Compress/Lzma2Encoder.cpp \ |
| CPP/7zip/Compress/Lzma2Register.cpp \ |
| CPP/7zip/Compress/LzmaDecoder.cpp \ |
| CPP/7zip/Compress/LzmaEncoder.cpp \ |
| CPP/7zip/Compress/LzmaRegister.cpp \ |
| CPP/7zip/Compress/LzOutWindow.cpp \ |
| CPP/7zip/Compress/Lzx86Converter.cpp \ |
| CPP/7zip/Compress/LzxDecoder.cpp \ |
| CPP/7zip/Compress/PpmdDecoder.cpp \ |
| CPP/7zip/Compress/PpmdEncoder.cpp \ |
| CPP/7zip/Compress/PpmdRegister.cpp \ |
| CPP/7zip/Compress/PpmdZip.cpp \ |
| CPP/7zip/Compress/QuantumDecoder.cpp \ |
| CPP/7zip/Compress/ShrinkDecoder.cpp \ |
| CPP/7zip/Compress/ZDecoder.cpp \ |
| CPP/7zip/Crypto/7zAes.cpp \ |
| CPP/7zip/Crypto/7zAesRegister.cpp \ |
| CPP/7zip/Crypto/HmacSha1.cpp \ |
| CPP/7zip/Crypto/MyAes.cpp \ |
| CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp \ |
| CPP/7zip/Crypto/RandGen.cpp \ |
| CPP/7zip/Crypto/Sha1.cpp \ |
| CPP/7zip/Crypto/WzAes.cpp \ |
| CPP/7zip/Crypto/ZipCrypto.cpp \ |
| CPP/7zip/Crypto/ZipStrong.cpp \ |
| C/7zStream.c \ |
| C/Aes.c \ |
| C/Alloc.c \ |
| C/Bra.c \ |
| C/Bra86.c \ |
| C/BraIA64.c \ |
| C/BwtSort.c \ |
| C/Delta.c \ |
| C/HuffEnc.c \ |
| C/LzFind.c \ |
| C/LzFindMt.c \ |
| C/Lzma2Dec.c \ |
| C/Lzma2Enc.c \ |
| C/LzmaDec.c \ |
| C/LzmaEnc.c \ |
| C/MtCoder.c \ |
| C/Ppmd7.c \ |
| C/Ppmd7Dec.c \ |
| C/Ppmd7Enc.c \ |
| C/Ppmd8.c \ |
| C/Ppmd8Dec.c \ |
| C/Ppmd8Enc.c \ |
| C/Sha256.c \ |
| C/Sort.c \ |
| C/Threads.c \ |
| C/Xz.c \ |
| C/XzCrc64.c \ |
| C/XzDec.c \ |
| C/XzEnc.c \ |
| C/XzIn.c \ |
| C/7zCrc.c \ |
| C/7zCrcOpt.c |
| |
| SUBDIRS = \ |
| C \ |
| CPP/7zip/Archive \ |
| CPP/7zip/Archive/7z \ |
| CPP/7zip/Archive/Cab \ |
| CPP/7zip/Archive/Common \ |
| CPP/7zip/Archive/Tar \ |
| CPP/7zip/Archive/Zip \ |
| CPP/7zip/Common \ |
| CPP/7zip/Compress \ |
| CPP/7zip/Crypto \ |
| CPP/7zip/UI/Common \ |
| CPP/7zip/UI/Console \ |
| CPP/Common \ |
| CPP/Windows \ |
| CPP/myWindows |
| |
| # We need to define some special rules to compile 7zip since moving |
| # all of the different source files into one main directory breaks the |
| # build due to the way 7zip's includes are structured. |
| define SUBDIR_template |
| Output/%.o: $(1)/%.c Output/.dir |
| -$$(CC) $$(CPPFLAGS) $$(CFLAGS) $$(OPTFLAGS) $$(TARGET_FLAGS) -c $$< -o $$@ |
| Output/%.o: $(1)/%.cpp Output/.dir |
| -$$(CXX) $$(CPPFLAGS) $$(CXXFLAGS) $$(OPTFLAGS) $$(TARGET_FLAGS) -c $$< -o $$@ |
| Output/%.llvm.o: $(1)/%.c Output/.dir |
| $$(RUNSAFELYLOCAL) /dev/null $$@.compile \ |
| $$(LCC) $$(CPPFLAGS) $$(CFLAGS) $$(OPTFLAGS) $$(TARGET_FLAGS) -c $$< -o $$@ |
| Output/%.llvm.o: $(1)/%.cpp Output/.dir |
| $$(RUNSAFELYLOCAL) /dev/null $$@.compile \ |
| $$(LCXX) $$(CPPFLAGS) $$(CXXFLAGS) $$(OPTFLAGS) $$(TARGET_FLAGS) -c $$< -o $$@ |
| Output/%.ll: $(1)/%.c Output/.dir |
| $$(RUNSAFELYLOCAL) /dev/null $$@.compile \ |
| $$(LCC) $$(CPPFLAGS) $$(CFLAGS) $$(OPTFLAGS) $$(TARGET_FLAGS) -S $$< -o $$@ $$(LLVMCC_EMITIR_FLAG) |
| Output/%.ll: $(1)/%.cpp Output/.dir |
| $$(RUNSAFELYLOCAL) /dev/null $$@.compile \ |
| $$(LCXX) $$(CPPFLAGS) $$(CXXFLAGS) $$(OPTFLAGS) $$(TARGET_FLAGS) -S $$< -o $$@ $$(LLVMCC_EMITIR_FLAG) |
| endef |
| |
| $(foreach dir,$(SUBDIRS),$(eval $(call SUBDIR_template,$(PROJ_SRC_DIR)/$(dir)))) |
| |
| # Since this test just runs the benchmark provided in 7zip, the output |
| # will be different everytime since the output includes timing information. |
| PROGRAM_IS_NONDETERMINISTIC=1 |
| |
| include $(LEVEL)/MultiSource/Makefile.multisrc |
| |