
EXE := pcopy
SRC := pcopy.c pcopy-opts.c
HDR := pcopy-opts.h
GEN := pcopy-opts.h pcopy-opts.c
GCC := $(CC) $(CFLAGS) -std=c99 -g -O0
CAG := $(shell autoopts-config cflags)
LAG := $(shell autoopts-config ldflags) -lpthread -lncurses
OBJ := $(SRC:.c=.o)

default : $(EXE)
gen     : $(GEN)
all     : default $(EXE).1

-include pcopy-opts.d

$(GEN) : stamp-pcopy-opts
$(OBJ) : $(GEN)

$(EXE) : $(OBJ)
	gcc -g -o $@ $(OBJ) $(LAG)

.c.o :
	$(GCC) -c -o $@ $(CAG) $<

stamp-pcopy-opts : pcopy-opts.def
	autogen -MT$@ -MFpcopy-opts.d -MP $<

$(EXE).1 : pcopy-opts.def
	autogen -Tagman-cmd.tpl $<

clean  :
	rm -f *~ $(OBJ) pcopy-opts.d-*

clobber : clean
	rm -f stamp-* $(EXE) $(EXE).1 $(EXE)-*.tar.xz \
	      $(AUTOGEN_stamp_pcopy_opts_TList) pcopy-opts.d

tarball : $(GEN) $(EXE).1 $(SRC) Makefile pcopy-opts.def
	eval $$(sed -n "/^version/s/[ ;']//gp" pcopy-opts.def) ; \
	if test -d $(EXE)-$$version ; then rm -rf $(EXE)-$$version ; fi ; \
	mkdir $(EXE)-$$version ; \
	ln Makefile pcopy-opts.def *.[ch] $(EXE).1 $(EXE)-$$version/. ; \
	tar -cJf $(EXE)-$$version.tar.xz $(EXE)-$$version ; \
	rm -rf $(EXE)-$$version ; \
	tar -xJf $(EXE)-$$version.tar.xz ; \
	test -d $(EXE)-$$version ; \
	cd $(EXE)-$$version ; make ; cd - ; rm -rf $(EXE)-$$version

.PHONY : gen all clean clobber tarball
