CFLAGS = -s -O #-g -Wall

d	= $m PBTypes.m PBNames.m#			dependencies
h	= #						dependency headers
l	= -lNeXT_s#					system library
m	= put.m get.m putf.m getf.m pbtool.m filters.m \
	  trafo.m#					main programs
s	= $$HOME/Library/Services#			home of service
t	= $(m:.m=) eps rtf tiff hide unhide check look#	tasks

all:		$(t)
clean:				; rm -f $(t) *.o tmp.*
				  rm -rf $s/pbtool.service $s/plot.service
install:	pbtool put
	mkdirs $s/pbtool.service $s/plot.service
	cp put pbtool $s/pbtool.service
	cp pbtool.services $s/pbtool.service/services
	chmod +x plot2eps; cp plot2eps $s/plot.service
	cp plot.services $s/plot.service/services
	make_services debug 2>&1 | egrep 'pbtool|plt'
	- d=`ps ax | fgrep $s/pbtool | fgrep -v fgrep | awk '{print $$1}'`; \
	  [ "$$d" ] && kill $$d

test::	put get		; echo hello | put; get
test::	putf getf	; putf text.rtfd; getf tmp; rm -rf tmp.rtfd
test::	pbtool		; pbtool -drag -find -font -general -ruler
test::	filters		; filters x.eps
test::	trafo		; trafo text.rtfd -general
test::	eps		; $(MAKE) install
			  eps hilbert.plt > tmp.eps; open tmp.eps
			  sleep 5; rm -f tmp.eps
test::	all		;-pbtool & \
			  add pbtool pbtool.services; \
			  list -v pbtool; \
			  look pbtool Edit; \
			  hide 'pbtool/Show Types'; \
			  check 'pbtool/Show Types'; \
			  unhide 'pbtool/Show Types'; \
			  check 'pbtool/Show Types'; \
			  del pbtool; list; \
			  kill $$!

put	= put.o PBTypes.o PBNames.o
put:	$(put)		; $(CC) -o $@ $(CFLAGS) $(put) $l

get	= get.o PBTypes.o PBNames.o
get:	$(get)		; $(CC) -o $@ $(CFLAGS) $(get) $l

putf	= putf.o PBNames.o
putf:	$(putf)		; $(CC) -o $@ $(CFLAGS) $(putf) $l

getf	= getf.o PBNames.o
getf:	$(getf)		; $(CC) -o $@ $(CFLAGS) $(getf) $l

pbtool	= pbtool.m PBNames.o
pbtool:	$(pbtool)	; $(CC) -o $@ -DPATH=\"$s\" $(CFLAGS) $(pbtool) $l

filters	= filters.o PBTypes.o
filters: $(filters)	; $(CC) -o $@ $(CFLAGS) $(filters) $l

trafo	= trafo.o PBTypes.o PBNames.o
trafo: $(trafo)	; $(CC) -o $@ $(CFLAGS) $(trafo) $l

eps rtf tiff:	trafo	; rm -f $@; ln trafo $@

hide:	hide.o		; $(CC) $(CFLAGS) -o $@ hide.o Filter.o $l
unhide:	unhide.o	; $(CC) $(CFLAGS) -o $@ unhide.o Filter.o $l
check:	check.o		; $(CC) $(CFLAGS) -o $@ check.o Filter.o $l
look:	look.o		; $(CC) $(CFLAGS) -o $@ look.o Filter.o $l

