mirror of
https://github.com/claunia/findcrcs.git
synced 2025-12-16 10:44:25 +00:00
124 lines
4.9 KiB
Makefile
124 lines
4.9 KiB
Makefile
BINARY := findcrcs
|
|
|
|
DISTNAME := $(shell pwd | awk -F '/' '{print $$(NF)}')
|
|
BINPREFIX :=
|
|
EXEFLAGS :=
|
|
CLEAN :=
|
|
ifeq ($(OS), Windows_NT)
|
|
CLEAN := $(BINARY)
|
|
BINARY := $(BINARY).exe
|
|
EXEFLAGS := -static
|
|
ifeq ($(64), 1)
|
|
BINPREFIX := x86_64-w64-mingw32-
|
|
endif
|
|
endif
|
|
|
|
all:
|
|
ifeq ($(OS), Windows_NT)
|
|
@(objdump -a $(BINARY) 2> /dev/null | grep "pei-i386" > /dev/null || ${MAKE} --no-print-directory clean; exit 0)
|
|
endif
|
|
@${MAKE} --no-print-directory $(BINARY)
|
|
|
|
64:
|
|
ifeq ($(OS), Windows_NT)
|
|
@(objdump -a $(BINARY) 2> /dev/null | grep "pei-i386" > /dev/null && ${MAKE} --no-print-directory clean; exit 0)
|
|
@${MAKE} --no-print-directory $(BINARY) 64=1
|
|
else
|
|
@${MAKE} --no-print-directory $(BINARY)
|
|
endif
|
|
|
|
clean:
|
|
rm -rf $(BINARY) $(CLEAN) crcutil.a *.o *.exe test.bin d1aa92b05d1f2638f423661ae4735446.bin
|
|
|
|
mrproper:
|
|
@${MAKE} --no-print-directory clean
|
|
rm -rf test.bin *.tar.gz *.zip $(DISTNAME)-bin-win32 $(DISTNAME)-bin-win64
|
|
|
|
dist:
|
|
${MAKE} mrproper
|
|
(cd ..; tar -cz --numeric-owner -f $(DISTNAME).tar.gz $(DISTNAME))
|
|
mv ../$(DISTNAME).tar.gz .
|
|
ifeq ($(OS), Windows_NT)
|
|
mkdir $(DISTNAME)-bin-win32
|
|
${MAKE} all
|
|
cp $(BINARY) $(DISTNAME)-bin-win32
|
|
cp README $(DISTNAME)-bin-win32/README.txt
|
|
cp COPYING $(DISTNAME)-bin-win32/COPYING.txt
|
|
unix2dos $(DISTNAME)-bin-win32/README.txt
|
|
unix2dos $(DISTNAME)-bin-win32/COPYING.txt
|
|
zip -r $(DISTNAME)-bin-win32.zip $(DISTNAME)-bin-win32
|
|
rm -rf $(DISTNAME)-bin-win32
|
|
${MAKE} clean
|
|
mkdir $(DISTNAME)-bin-win64
|
|
${MAKE} all 64=1
|
|
cp $(BINARY) $(DISTNAME)-bin-win64
|
|
cp README $(DISTNAME)-bin-win64/README.txt
|
|
cp COPYING $(DISTNAME)-bin-win64/COPYING.txt
|
|
unix2dos $(DISTNAME)-bin-win64/README.txt
|
|
unix2dos $(DISTNAME)-bin-win64/COPYING.txt
|
|
zip -r $(DISTNAME)-bin-win64.zip $(DISTNAME)-bin-win64
|
|
rm -rf $(DISTNAME)-bin-win64
|
|
${MAKE} clean
|
|
endif
|
|
|
|
test: $(BINARY) test.bin
|
|
@echo ""
|
|
@echo "return should be: 100000000 13fbda0d d1aa92b05d1f2638f423661ae4735446"
|
|
@echo "time ./$(BINARY) test.bin 1000000 13fbda0d"
|
|
@echo ""
|
|
@sh -c "time ./$(BINARY) test.bin 1000000 13fbda0d"
|
|
|
|
$(BINARY): findcrcs.cc md5.c md5.h crcutil-1.0 crcutil.a
|
|
$(BINPREFIX)g++ -O3 -D_FILE_OFFSET_BITS=64 -Wall -o $@ $(EXEFLAGS) $(CXXFLAGS) $(LDFLAGS) findcrcs.cc md5.c crcutil.a -Icrcutil-1.0/code -Icrcutil-1.0/examples
|
|
$(BINPREFIX)strip -s $@
|
|
|
|
crcutil.a: crcutil-1.0
|
|
rm -rf *.o
|
|
$(BINPREFIX)g++ -O3 -Wall -msse4.2 $(CXXFLAGS) -c crcutil-1.0/examples/interface.cc crcutil-1.0/code/*.cc -Icrcutil-1.0/code -Icrcutil-1.0/tests -Icrcutil-1.0/examples
|
|
$(BINPREFIX)ar r crcutil.a *.o
|
|
rm -rf *.o
|
|
|
|
crcutil-1.0:
|
|
wget -q -O - http://crcutil.googlecode.com/files/crcutil-1.0.tar.gz | tar xfz -
|
|
chmod -R og-w+rX crcutil-1.0
|
|
chown -R 0.0 crcutil-1.0
|
|
touch crcutil-1.0
|
|
|
|
test.bin:
|
|
@echo "creating test.bin"
|
|
@(echo -en \
|
|
"\x1f\x8b\x08\x00\x6d\xe2\x4a\x51\x02\x03\x93\xef\xe6\x60\xc8\x7d"\
|
|
"\xe4\x15\xc8\xc4\xfc\xf6\xee\x5e\xaf\xd9\x81\x32\xc7\x3f\x4e\x16"\
|
|
"\x3f\xe1\xcc\xb5\x4f\x64\x4e\xd2\x5b\xe6\xbc\xb8\x86\x1d\x1c\x85"\
|
|
"\x85\x2f\xa6\x34\xbd\xd5\x6a\x0c\xd2\x50\xda\x61\x2d\x21\xba\x5b"\
|
|
"\x44\x71\xfa\x03\x8d\xd8\x24\xf6\x74\x4f\xb5\xfc\x05\x3f\x8c\x3c"\
|
|
"\x4f\x86\xdd\x3e\xe8\xa8\xe5\x31\xef\xd3\x9c\xec\x17\x45\x2f\x9e"\
|
|
"\x1b\xcf\xfd\x69\xfd\xff\xc7\xfc\xeb\xf1\x9b\x36\xfc\x7d\x7c\xf6"\
|
|
"\x76\xd6\xdb\xba\x88\x95\x2d\x02\x55\x7f\x4f\x3e\x28\xbf\xc6\xc3"\
|
|
"\x00\x01\x0e\x8f\xaa\xcc\xdb\xb7\x16\xf1\x08\x7c\x7a\x94\xb5\xf7"\
|
|
"\x33\x1f\x54\xd4\x23\xb6\xbc\x6a\x95\x9c\x3b\xe3\xf9\xd9\x6b\x4d"\
|
|
"\x2d\xa1\x62\x0a\x95\xee\xab\xb5\x8d\x3f\x3a\x1d\x38\x7c\xaf\x2c"\
|
|
"\x16\xae\xf0\xde\x9d\xc7\xb1\xd6\x79\x8c\x7a\xdd\x9f\x6f\xf2\xda"\
|
|
"\xc2\x55\x5e\x6f\xdf\xea\xb5\x93\xf5\x44\xf7\xea\xaf\x7d\x32\x50"\
|
|
"\xc1\x09\x7b\xde\x7d\x09\xd9\x7b\x87\xe9\xcb\x3c\xf3\xe8\xec\x22"\
|
|
"\x98\xed\x9f\xfa\xc2\xc2\xd3\x1e\xa9\x33\xf2\x57\xdf\x2e\x45\x58"\
|
|
"\x54\xdc\x5f\xfe\x76\x07\xeb\x0e\x9d\x73\xe9\xe6\x5f\xa0\x82\x0d"\
|
|
"\x4f\x62\xe5\xaf\x69\x3d\x15\x53\xd0\x5f\x77\xcd\x1a\xa1\x7d\xd7"\
|
|
"\xe5\xe0\xaf\x45\xdc\x17\xaa\xef\xe5\xac\x3d\xc9\x08\x15\x3d\x69"\
|
|
"\x1d\x15\x7b\xf2\xf4\x66\x86\xc4\x98\x9a\x5f\x35\x52\x10\xb1\x07"\
|
|
"\xf3\x7f\x5f\xbe\xc8\x70\xa9\xfc\x7b\x5c\xf3\x92\x2f\xfb\x4c\xa5"\
|
|
"\xae\x7e\xba\x38\x8f\xa7\xcf\x7f\x1f\x13\x54\xcf\x4a\x69\xdd\x33"\
|
|
"\xe9\x85\xa2\x1f\x4a\x36\xd6\x28\xb0\x43\xc5\x54\xd6\xef\xdc\x3d"\
|
|
"\xf9\xb8\xee\x81\x1d\x3b\xce\x3e\x81\xbb\x42\xf7\x2e\xff\xf7\xc7"\
|
|
"\x62\x0b\xe2\x73\x74\xe7\xbd\x42\x58\x98\x6d\xb2\xea\xa9\xd8\x02"\
|
|
"\x5b\x49\x99\xf9\x27\xe0\x82\x20\x13\x3f\x1a\x1c\xb8\x7c\xf4\x53"\
|
|
"\x23\x22\x0c\x9e\xbd\xf3\x93\xdb\xce\xf0\xf8\x91\xd9\x64\x66\xa8"\
|
|
"\xd8\xa4\xed\x25\xf6\x77\xfa\xa3\x1b\xea\x36\x6e\xad\x58\x05\xb7"\
|
|
"\xfa\xfd\x9a\x8b\x2b\xa6\x45\x37\x7c\x4b\x29\xa8\x51\x82\x0b\xe6"\
|
|
"\x6f\x31\x98\x7f\xf4\x30\x83\xbf\xf8\x69\x76\x44\x08\xcc\xda\x6d"\
|
|
"\x5d\x79\x87\xa9\xa7\xfb\xb6\x0f\x22\x4e\x2e\xad\x4f\x5c\x2a\xe4"\
|
|
"\xf4\xe2\x6b\xb7\xe3\xeb\x54\xb0\xd0\x0f\xf9\x9a\x35\x75\xf5\x5f"\
|
|
"\x1f\xaa\xf5\xd4\xed\xfb\xc1\xad\xb6\xcd\x69\xb2\xcf\x37\x26\x06"\
|
|
"\x00\x14\x69\xf9\x95\x72\x02\x00\x00"\
|
|
) | zcat | zcat | zcat > test.bin
|