1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
# Makefile - main program makefile
#
# This program is part of Crank, a cryptanalysis tool
# Copyright (C) 2000, 2001 Matthew Russell
# See LICENSE for more info
DEST=/
prefix=@prefix@
exec_prefix = @exec_prefix@
VERSION = $(shell cat VERSION)
CC = gcc
PLUGIN-INSTALL = @libdir@/crank/plugins
CFLAGS = -O2 -Wall @GTK_CFLAGS@ -DPLUGIN_DIR=\"$(PLUGIN-INSTALL)\"
LIBS = @GTK_LIBS@
OBJFILES = $(patsubst %.c,%.o,$(wildcard *.c))
PLUGIN-INSTALL = @libdir@/crank/plugins
PLUGIN-SRC = plugin-src
PLUGINS = $(PLUGIN-SRC)/monoalphabetic.hillclimb-cracker.so \
$(PLUGIN-SRC)/monoalphabetic.key-controls.so \
$(PLUGIN-SRC)/statistics.n-grams.so \
$(PLUGIN-SRC)/text.simple-filters.so \
$(PLUGIN-SRC)/utilities.notepad.so
TMPDIR = /usr/tmp
# Files for source distribution
DISTFILES = *.[ch] Makefile.in Makefile.mingw AUTHORS README BUGS VERSION \
HISTORY LICENSE TODO ciphertext.txt ciphertext2.txt crank.def configure configure.in
DISTFILES_DATA = data/*.dat
DISTFILES_PLUGINS = $(PLUGIN-SRC)/*.[ch] $(PLUGIN-SRC)/Makefile.in $(PLUGIN-SRC)/Makefile.mingw $(PLUGIN-SRC)/plugin-floating.def $(PLUGIN-SRC)/plugin-mode.def
# Files for binary distribution (leaving out actual binaries)
BINDISTFILES = AUTHORS BUGS ciphertext.txt LICENSE HISTORY README TODO
BINDISTFILES_DATA = data/*.dat
# Windows binaries
WINBIN_DIR = winbin
WINBINFILES = $(WINBIN_DIR)/crank.exe
WINBINGTK = $(WINBIN_DIR)/*.dll
WINBINFILES_PLUGINS = $(WINBIN_DIR)/plugins/*.dll
all: crank plugin
crank: $(OBJFILES)
$(CC) $(CFLAGS) $(LIBDIR) -o $@ $(OBJFILES) $(LIBS)
$(OBJFILES) : crank.h
ui_init.o: xpms.h
plugin:
@cd $(PLUGIN-SRC) && $(MAKE)
.PHONY: clean veryclean TAGS dist install
clean:
-rm crank *.o
-cd $(PLUGIN-SRC); make clean
-rm -r plugins
veryclean: clean
-rm config.*
-rm configure
-rm aclocal.m4
-rm Makefile
-rm plugin-src/Makefile
TAGS:
etags *.[ch] $(PLUGIN-SRC)/*.[ch]
install:
@echo ======================
@echo Installing Crank $(VERSION)
@echo ======================
-mkdir -p $(DEST)@bindir@
cp ./crank $(DEST)@bindir@
-mkdir -p $(DEST)@datadir@/crank
cp data/*.dat $(DEST)@datadir@/crank
-mkdir -p $(DEST)@libdir@/crank
-mkdir -p $(DEST)$(PLUGIN-INSTALL)
cp $(PLUGIN-SRC)/*.so $(DEST)$(PLUGIN-INSTALL)
@echo Installation complete.
configure: configure.in
aclocal
autoconf
# Various packaging commands to make life easier
dist:
@echo ========================================
@echo Building Crank $(VERSION) source distribution
@echo ========================================
@echo Crank: `cat *.[ch] | wc -l` lines - `ls -l *.[ch] | wc -l` source files
@echo Plugins: `cat plugin-src/*.[ch] | wc -l` lines - `ls -l plugin-src/*.[ch] | wc -l` source files
@echo Total: `cat *.[ch] plugin-src/*.[ch] | wc -l` lines - `ls -l *.[ch] plugin-src/*.[ch] | wc -l` source files
-mkdir crank-$(VERSION)
cp $(DISTFILES) crank-$(VERSION)
-mkdir crank-$(VERSION)/data
cp $(DISTFILES_DATA) crank-$(VERSION)/data
-mkdir crank-$(VERSION)/plugin-src
cp $(DISTFILES_PLUGINS) crank-$(VERSION)/plugin-src
tar cvf crank-$(VERSION).tar crank-$(VERSION)
gzip -fv -best crank-$(VERSION).tar
rm -r crank-$(VERSION)
ls -l crank-$(VERSION).tar.gz
distcheck:
@echo ======================================
@echo Test building Crank $(VERSION) distribution
@echo ======================================
tar xzf crank-$(VERSION).tar.gz --directory $(TMPDIR)
-cd $(TMPDIR)/crank-$(VERSION); ./configure; make; make install
-cd $(TMPDIR)/crank-$(VERSION); ./crank
-rm -rf $(TMPDIR)/crank-$(VERSION)
bindist:
@echo =================================
@echo Building Crank $(VERSION) binary frame
@echo =================================
-rm -r crank-bin-$(VERSION)
mkdir crank-bin-$(VERSION)
-cp $(BINDISTFILES) crank-bin-$(VERSION)
-mkdir crank-bin-$(VERSION)/data
-cp $(BINDISTFILES_DATA) crank-bin-$(VERSION)/data
-mkdir crank-bin-$(VERSION)/plugins
ls -lR crank-bin-$(VERSION)
windist:
@echo ====================================
@echo Building Windows binary distribution
@echo ====================================
-rm crank-win-$(VERSION).zip
make bindist
make windist-main
make windist-gtk
make windist-zip
mv crank-win.zip crank-win-$(VERSION).zip
ls -l crank-win-$(VERSION).zip
windist-no-gtk:
@echo ====================================
@echo Building Windows binary distribution
@echo ====================================
-rm crank-win-no-gtk-$(VERSION).zip
make bindist
make windist-main
make windist-zip
mv crank-win.zip crank-win-no-gtk-$(VERSION).zip
ls -l crank-win-no-gtk-$(VERSION).zip
windist-main:
@echo ===================================
@echo Copying main executable and plugins
@echo ===================================
cp $(WINBINFILES) crank-bin-$(VERSION)/
cp $(WINBINFILES_PLUGINS) crank-bin-$(VERSION)/plugins/
windist-gtk:
@echo ======================
@echo Copying gtk+ libraries
@echo ======================
cp $(WINBINGTK) crank-bin-$(VERSION)/
windist-zip:
@echo ==========
@echo Making zip
@echo ==========
mv crank-bin-$(VERSION) crank-win-$(VERSION)
zip -r -9 crank-win crank-win-$(VERSION)/
rm -r crank-win-$(VERSION)
|