
CC = gcc
CFLAGS = -g

FCGI_PERL = FCGI-0.67
FCGI_PERL_MOD = $(FCGI_PERL)/FCGI.pm

FCGI = fcgi-2.4.0
FCGI_INC = $(FCGI)/include
FCGI_LIB = $(FCGI)/libfcgi/.libs/libfcgi.a

INSTALL_DIR = /usr/local/bin


all: $(FCGI_PERL_MOD) specweb99-fcgi test-fcgi

install: all
	cd $(FCGI_PERL) && make install
	cp fcgiserv $(INSTALL_DIR)
	chmod 755 $(INSTALL_DIR)/fcgiserv
	cp specweb99-fcgi $(INSTALL_DIR)
	chmod 755 $(INSTALL_DIR)/specweb99-fcgi
	cp specweb99-fcgi.pl $(INSTALL_DIR)
	chmod 755 $(INSTALL_DIR)/specweb99-fcgi.pl
	cp test-fcgi $(INSTALL_DIR)
	chmod 755 $(INSTALL_DIR)/test-fcgi
	cp test-fcgi.pl $(INSTALL_DIR)
	chmod 755 $(INSTALL_DIR)/test-fcgi.pl

clean:
	rm -rf $(FCGI_PERL)
	rm -rf $(FCGI)
	rm -f specweb99-fcgi test-fcgi


$(FCGI_PERL_MOD): $(FCGI_PERL).tar.gz $(FCGI).patch
	rm -rf $(FCGI_PERL)
	gunzip -c $(FCGI_PERL).tar.gz | tar xf -
	cd $(FCGI_PERL) && patch -p2 < ../$(FCGI).patch
	cd $(FCGI_PERL) && ./configure && perl Makefile.PL && make

$(FCGI_LIB): $(FCGI).tar.gz $(FCGI).patch
	rm -rf $(FCGI)
	gunzip -c $(FCGI).tar.gz | tar xf -
	cd $(FCGI) && patch -p1 < ../$(FCGI).patch
	cd $(FCGI) && ./configure && make

specweb99-fcgi: specweb99-fcgi.c $(FCGI_LIB)
	$(CC) $(CFLAGS) -I$(FCGI_INC) -o $@ specweb99-fcgi.c $(FCGI_LIB)

test-fcgi: test-fcgi.c $(FCGI_LIB)
	$(CC) $(CFLAGS) -I$(FCGI_INC) -o $@ test-fcgi.c $(FCGI_LIB)
