#
# This one works with both Berkeley make the gmake!
#


include ../Makefile.defs

SRCS   += $(wildcard $(D)*.cpp) $(wildcard $(D)*.h) $(wildcard $(D)Makefile*)

AFFLIB  := ../lib/libafflib.a
INCDIRS += -I../lib/

include Makefile.files

all: aimage ident

clean:
	$(RM) *.o aimage random* validated.txt

signtest: signtest.o
	$(CXX) $(CXXFLAGS) -o $@ $^ -lcrypto


zeros.img:
	dd if=/dev/zero of=zeros.img bs=1m count=64

memory: zeros.img
	@echo Reporting the memory usage of aimage for a 64M block of zeros
	./aimage -q -d2 -E -z zeros.img zeros.aff

SUBJ='/C=US/ST=Massachusetts/L=Cambridge/O=AFFLIB.ORG'
CN="MyCN"

Makefile.signed: my_key.pem
	openssl smime -from $(CN) -sign -inkey my_key.key -signer my_key.pem  -in Makefile

my_key.pem:
	@echo Making the CA key
	openssl req -new -x509 -nodes -keyout my_ca.key -out my_ca.pem  -days 7304 -subj $(SUBJ)
	@echo Making the CSR
	openssl req -new -nodes -subj $(SUBJ)/CN=$(CN) -keyout my_key.key -out my_key.csr
	@echo Signing the CSR
	rm -rf demoCA
	mkdir demoCA			# make the default database
	touch demoCA/index.txt		# make an empty database file
	echo 1000 > demoCA/serial
	openssl ca -batch -in my_key.csr -out my_key.pem -notext -days 7304 \
		-keyfile my_ca.key -cert my_ca.pem -outdir . 



