1
2bin_PROGRAMS=ssdeep
3
4ssdeep_LDADD=libfuzzy.la
5ssdeep_LDFLAGS=-static
6
7ACLOCAL_AMFLAGS = -I m4
8
9lib_LTLIBRARIES=libfuzzy.la
10libfuzzy_la_SOURCES=fuzzy.c edit_dist.c find-file-size.c
11libfuzzy_la_LDFLAGS=-no-undefined -version-info 3:0:1
12
13include_HEADERS=fuzzy.h edit_dist.h
14
15man_MANS=ssdeep.1
16
17ssdeep_SOURCES = main.cpp match.cpp engine.cpp filedata.cpp   	\
18                 dig.cpp cycles.cpp helpers.cpp ui.cpp edit_dist.h     	\
19                 main.h fuzzy.h tchar-local.h ssdeep.h filedata.h match.h
20
21dll: $(libfuzzy_la_SOURCES)
22	$(CC) $(CFLAGS) -shared -o fuzzy.dll $(libfuzzy_la_SOURCES) \
23		-Wl,--output-def,fuzzy.def,--out-implib,libfuzzy.a
24	$(STRIP) fuzzy.dll
25
26CLEANFILES=fuzzy.dll fuzzy.def
27
28EXTRA_DIST=$(man_MANS) bootstrap sum_table.h sample.c FILEFORMAT m4/README
29
30WINDOWSDOCS=README.TXT API.TXT FILEFORMAT.TXT NEWS.TXT
31
32README.TXT: ssdeep.1
33	COLUMNS=76 man ./ssdeep.1 | col -bx > README.TXT
34
35API.TXT: README
36	cp README API.TXT
37
38FILEFORMAT.TXT: FILEFORMAT
39	cp FILEFORMAT FILEFORMAT.TXT
40
41NEWS.TXT: NEWS
42	cp NEWS NEWS.TXT
43
44win-docs: $(WINDOWSDOCS)
45#	flip -d $(WINDOWSDOCS)
46#	unix2dos $(WINDOWSDOCS)
47
48win-package: win-docs
49	rm -rf $(distdir).zip $(distdir)
50	make
51	make dll
52	$(STRIP) ssdeep.exe
53	mkdir $(distdir)
54	cp $(WINDOWSDOCS) ssdeep.exe fuzzy.dll fuzzy.def fuzzy.h sample.c $(distdir)
55#	flip -d $(distdir)/{sample.c,fuzzy.def}
56#	unix2dos $(distdir)/{sample.c,fuzzy.def}
57	zip -lr9 $(distdir).zip $(distdir)
58	rm -rf $(distdir) $(WINDOWSDOCS)
59
60world: distclean
61	./configure --host=i686-w64-mingw32 LIBS="-Wl,-Bstatic -lstdc++ -lpthread -static-libgcc"
62	make win-package
63	make dist
64
65
66# Only generic routines go below this line
67# ------------------------------------------------------------------
68
69nice:
70	rm -f *~
71
72preflight:
73	@grep RBF $(DISTFILES)
74
75