# Makefile for blockade.
# This is the Makefile I use; it may need tweaking for you.
# Copyright status: this file is in the public domain.

# Add -I and -L options as necessary to make it find your X stuff....
# Remove WEBSERVER to disable the -web option (you probably want to).

CC = wgcc -g
VFLAG = -V
CFLAGS = $(VFLAG) -DWEBSERVER

CLEANFILES = core *.core

O = blockade-info-credits.o blockade-info-help1.o blockade-info-help2.o\
 blockade-info-help3.o blockade-info-help4.o blockade-info-help5.o\
 blockade-info-pix.o blockade-lev.o blockade-pix.o blockade-snd.o\
 blockade.o

# list derived .c files after their corresponding source files!
TOSHAR = credits help1 help2 help3 help4 help5\
 txttosrc font.pbm blockade-pix.ei icontopix blockade.doc levelfile.doc\
 blockade.h blockade-pix.h blockade-lev.h blockade-info.h blockade-snd.h\
 blockade.c blockade-pix.c blockade-lev.c\
 blockade-info-pix.c\
 blockade-info-credits.c blockade-info-help1.c blockade-info-help2.c\
 blockade-info-help3.c blockade-info-help4.c blockade-info-help5.c\
 sample.lev
# blockade-snd and solutions get special treatment

all: blockade
.PHONY: all

editicon: editicon.o
	$(CC) -o editicon editicon.o -lX11
CLEANFILES += editicon editicon.o

blockade: $O
	$(CC) -o blockade $O -lX11
CLEANFILES += blockade $O

blockade-info-credits.c: txttosrc font.pbm credits
	./txttosrc credits
CLEANFILES += blockade-info-credits.c

blockade-info-help1.c: txttosrc font.pbm help1
	./txttosrc help1
CLEANFILES += blockade-info-help1.c

blockade-info-help2.c: txttosrc font.pbm help2
	./txttosrc help2
CLEANFILES += blockade-info-help2.c

blockade-info-help3.c: txttosrc font.pbm help3
	./txttosrc help3
CLEANFILES += blockade-info-help3.c

blockade-info-help4.c: txttosrc font.pbm help4
	./txttosrc help4
CLEANFILES += blockade-info-help4.c

blockade-info-help5.c: txttosrc font.pbm help5
	./txttosrc help5
CLEANFILES += blockade-info-help5.c

blockade-pix.c: icontopix blockade-pix.ei
	icontopix
CLEANFILES += blockade-pix.c

Makefile.dist: Makefile
	cp Makefile Makefile.dist+
	( echo '/^CC/s/wgcc/gcc/'			;\
	  echo '/^VFLAG/s/=.*/=/'			;\
	  echo '/^CFLAGS/s/$$/ -I./'			;\
	  echo 'g/blockade-snddata-[a-z]\.o/s///g'	;\
	  echo '/blockade-snddata\.o/s///'		;\
	  echo w					;\
	  echo q ) | ed - Makefile.dist+
	mv Makefile.dist+ Makefile.dist
CLEANFILES += Makefile.dist Makefile.dist+

dist.shar.gz: README COPYRIGHT Makefile.dist $(TOSHAR) blockade-snd-stub.c
	shar README COPYRIGHT -N Makefile.dist Makefile $(TOSHAR) -N blockade-snd-stub.c blockade-snd.c | gzip --best > dist.shar.gz
CLEANFILES += dist.shar.gz

.PHONY: clean
clean:
	rm -f $(CLEANFILES)

blockade-info-pix.o: ./blockade-pix.h
blockade-lev.o: ./blockade-lev.h
blockade-lev.o: ./blockade-pix.h
blockade-lev.o: ./blockade.h
blockade-pix.o: ./blockade-pix.h
blockade-snd.o: ./blockade-snd.h
blockade.o: ./blockade-info.h
blockade.o: ./blockade-lev.h
blockade.o: ./blockade-pix.h
blockade.o: ./blockade-snd.h
blockade.o: ./blockade.h
