# Flawfinder.  Released under the General Public License (GPL).
# (C) 2001 David A. Wheeler.

# To change version number, edit this here, the end of the
# "flawfinder" script, and the index.html file.
VERSION=0.15

SAMPLE_DIR=/usr/src/linux-2.2.16

INSTALL_DIR=/usr/local
INSTALL_DIR_BIN=$(INSTALL_DIR)/bin
INSTALL_DIR_MAN=$(INSTALL_DIR)/man/man1

# For Cygwin on Windows, set EXE=.exe
EXE=

all: flawfinder.pdf
	chmod -R a+rX *


# This installer doesn't install the compiled Python bytecode.
install:
	cp flawfinder$(EXE) $(INSTALL_DIR_BIN)
	cp flawfinder.1 $(INSTALL_DIR_MAN)

uninstall:
	rm $(INSTALL_DIR_BIN)/flawfinder$(EXE)
	rm $(INSTALL_DIR_MAn)/flawfinder.1


flawfinder.ps: flawfinder.1
	man -t ./flawfinder.1 > flawfinder.ps

flawfinder.pdf: flawfinder.ps
	ps2pdf flawfinder.ps flawfinder.pdf


clean:
	rm -f *.pyc
	rm -f flawfinder-$(VERSION).tar.gz
	rm -f *.tar

distribute: clean
	mkdir ,1
	cp -p [a-zA-Z]* ,1
	rm -f ,1/*.tar.gz
	# We don't need both "flawfinder" and "flawfinder.py":
	rm -f ,1/flawfinder.py
	mv ,1 flawfinder-$(VERSION)
	tar cvfz flawfinder-$(VERSION).tar.gz flawfinder-$(VERSION)
	rm -fr flawfinder-$(VERSION)


time:
	echo "Timing the program. First, time taken:"
	time ./flawfinder $(SAMPLE_DIR)/*/*.[ch] > /dev/null
	echo "Lines examined:"
	wc -l $(SAMPLE_DIR)/*/*.[ch] | tail -2

test:
	./flawfinder test.c

profile:
	/usr/lib/python1.5/profile.py ./flawfinder > profile-results $(SAMPLE_DIR)/*/*.[ch] > profile-results 
