# $Id: Makefile,v 1.12 2002/10/09 22:17:33 mjt Exp $
# Makefile for avcheck

VERSION = 0.91

SHELL = /bin/sh
CC = gcc
CFLAGS = -O2 -Wall
LDFLAGS = `[ -f /usr/lib/libsocket.so ] && echo -lsocket -lnsl`

DISTFILES = avcheck.c infected.ex1 uchroot.c Makefile \
 avcheck.1 eicar.txt eicar.msg ChangeLog substlang.sh \
 README.* rc.*
EX2_LANGS = ex2/cs ex2/de ex2/it ex2/en ex2/pl ex2/ru ex2/sk ex2/sp
EX2_FILES = ex2/template $(EX2_LANGS)

all: avcheck uchroot examples

avcheck: avcheck.c
	$(CC) -o $@ $(CFLAGS) -DVERSION=\"$(VERSION)\" avcheck.c $(LDFLAGS)

uchroot: uchroot.c
	$(CC) -o $@ $(CFLAGS) uchroot.c

examples: .stamp-examples
.stamp-examples: $(EX2_FILES) substlang.sh
	set -e ; for lang in $(EX2_LANGS) ; do \
	  l=`expr $$lang : 'ex2/\(..\)'` ; \
	  $(SHELL) substlang.sh ex2/ $$l > tmp ; \
	  mv -f tmp infected.ex2.$$l ; \
	  chmod +x infected.ex2.$$l ; \
	done
	touch $@

clean:
	rm -f *.o core *~
distclean realclean: clean
	rm -f avcheck uchroot infected.ex2.?? .stamp-examples

DNAME = avcheck-$(VERSION)
dist: $(DNAME).tar.gz
$(DNAME).tar.gz: $(DISTFILES) $(EX2_FILES)
	rm -fr $(DNAME) $@
	mkdir $(DNAME) $(DNAME)/ex2
	ln $(DISTFILES) $(DNAME)/
	ln $(EX2_FILES) $(DNAME)/ex2/
	tar cvf $(DNAME).tar $(DNAME)
	gzip -9 $(DNAME).tar
	rm -rf $(DNAME)

.PHONY: all clean distclean realclean dist examples
