# makefile for bomb

# normally this would be ".", but we want to support the mac
DATA_DIR =
# DATA_DIR = /usr/lib/bomb/


# only for guile
GUILE=/home/spot/src/guile-1.2
SCM_LDFLAGS = -L$(GUILE)/libguile -L$(GUILE)/qt -lguile -lqt
SCM_CFLAGS = -I$(GUILE)/libguile


PROGS = cmap_test bomb image2cmap
flags = -g -DDATA_DIR=\"$(DATA_DIR)\" $(SCM_CFLAGS)
CFLAGS = -O $(flags)

# LDFLAGS = $(SCM_LDFLAGS)

# X11
# LOADLIBES = -lX11 -lm -ltiff -L/usr/X11/lib

# OpenGL
# LOADLIBES = mpeg2/src/mpeg2enc/mpeg.a -laudio -lGL -lX11 -lm /usr/local/lib/libtiff.a

# linux/svgalib
# LOADLIBES = -lvga -lm -ltiff

# svgalib and x11
LOADLIBES = -lX11 -lvga -lm -ltiff -L/usr/X11/lib


LIBSRCS = libifs.c image.c gif.c zio.c
SRCS = cmap.c rug.c static.c acidlife.c brain.c rd.c sound.c \
	anneal.c rug_rug.c rotor.c shade.c wave.c quad.c \
	slip.c image_rule.c image_seq.c fuse.c rug_multi.c match.c \
	bomb.c fast.c $(LIBSRCS)
ALLSRCS = $(SRCS) image2cmap.c bomb.scm bomb-script

LIBOBJS = $(LIBSRCS:.c=.o)
OBJS = $(SRCS:.c=.o)

bomb: $(OBJS)
	$(CC) -o bomb $(OBJS) $(LDFLAGS) $(LOADLIBES)

DOC = Makefile README COPYING bomb.lsm notes.txt manual.txt \
	cmap-data flame-data seq-data suck-dir guile.txt

DIST = suck dribble bomb dribble title.tif dependencies gbomb \
	scripts ice-9 libguile.so.2

HEADERS = bomb.h defs.h image.h libifs.h xli-image.h \
	cmap.h gif.h image_db.h match.h tiff.h tiffio.h \
	sound.h

TEXT = $(ALLSRCS) $(HEADERS) $(DOC)

bomb: $(OBJS)

.PHONY: tags
tags:
	etags $(SRCS) $(HEADERS)

bomb.o: bomb.c
	$(CC) $(flags) -c bomb.c

bomb.o: defs.h bomb.h

.PHONY: depend
depend:
	$(CC) -MM $(ALLSRCS) > dependencies

tar:
	rm -f /tmp/bomb-src.tar.gz
	tar hcfv /tmp/bomb-src.tar $(TEXT)
	gzip /tmp/bomb-src.tar

dist:
	rm -f /tmp/bomb.tar.gz
	rm -f scripts/*~
	rm -rf dribble
	mkdir dribble
	cd ..; tar hcfv /tmp/bomb.tar $(addprefix bomb/, $(TEXT) $(DIST))
	gzip /tmp/bomb.tar

clean:
	rm -f *.o $(PROGS)

all: $(PROGS)

install:
	install -d $(DATA_DIR)
	cp -a *-data $(DATA_DIR)
	cp -a title.tif $(DATA_DIR)
	install -d $(DATA_DIR)dribble/
	install -d $(DATA_DIR)suck/
	cp -a suck/* $(DATA_DIR)suck/
	strip bomb
	cp -a bomb /usr/bin/bomb



cmap_test: cmap_test.o cmap.o

image2cmap: image2cmap.o $(LIBOBJS)
	$(CC) image2cmap.o $(LIBOBJS)  -o image2cmap -lm

include dependencies
