
CFLAGS = -g -I/usr/openwin/include -DPIXEL=short
CC=gcc

OBJS_1CH = seg-1ch.o weights-1ch.o bias-1ch.o display-1ch.o stats-1ch.o 
OBJS_2CH = seg-2ch.o weights-2ch.o bias-2ch.o display-2ch.o stats-2ch.o 


COMMON_OBJS= read-map.o parzen.o image-ops.o image-io.o client.o misc.o 

PROGRAMS= seg-1ch seg-2ch xtube

all: $(PROGRAMS)
	touch all

.c.o: 
	$(CC) $(CFLAGS) -c $<

seg-1ch: $(OBJS_1CH) $(COMMON_OBJS)
	$(CC) $(CFLAGS) -o seg-1ch $(OBJS_1CH) $(COMMON_OBJS) -lX11 -lm

seg-2ch: $(OBJS_2CH) $(COMMON_OBJS)
	$(CC) $(CFLAGS) -o seg-2ch $(OBJS_2CH) $(COMMON_OBJS) -lX11 -lm

xtube: xtube.o 
	$(CC)  -o xtube  xtube.o -lXaw -lXt -lXext -lXmu -lX11 -lm $(LDFLAGS)

nuke-header: nuke-header.o image-ops.o image-io.o client.o misc.o
	$(CC) -o nuke-header nuke-header.o image-ops.o image-io.o client.o misc.o -lX11 -lm

example: example.o client.o
	$(CC) -o example example.o client.o -lX11

clean: 
	rm -f *.o *~ $(PROGRAMS) core nuke-header example





# one way to make the dependencies:
#	gcc -MM $(CFLAGS) *.c


bias-1ch.o: bias-1ch.c util.h tissue.h seg.h
bias-2ch.o: bias-2ch.c util.h tissue.h seg.h
client.o: client.c client.h
display-1ch.o: display-1ch.c util.h image-stuff.h client.h tissue.h \
 seg.h
display-2ch.o: display-2ch.c util.h image-stuff.h client.h tissue.h \
 seg.h
image-io.o: image-io.c image-stuff.h util.h
image-ops.o: image-ops.c image-stuff.h util.h client.h
misc.o: misc.c misc.h
nuke-header.o: nuke-header.c image-stuff.h util.h
parzen.o: parzen.c tissue.h
read-map.o: read-map.c tissue.h seg.h util.h
seg-1ch.o: seg-1ch.c misc.h image-stuff.h client.h tissue.h seg.h
seg-2ch.o: seg-2ch.c misc.h image-stuff.h client.h tissue.h seg.h
stats-1ch.o: stats-1ch.c tissue.h seg.h util.h
stats-2ch.o: stats-2ch.c tissue.h seg.h util.h
util.o: util.c util.h
weights-1ch.o: weights-1ch.c image-stuff.h tissue.h seg.h
weights-2ch.o: weights-2ch.c image-stuff.h tissue.h seg.h
xtube.o: xtube.c
