CC != ( ( wgcc --version ) > /dev/null 2>&1 && echo wgcc ) || echo gcc CC += -g .if !defined(VFLAG) VFLAG != ( $(CC) -V > /dev/null 2>&1 && echo -V ) || echo '' .endif CFLAGS = $(VFLAG) INSTDIR = inst LIBO = accum.o context.o deconst.o folder.o format.o message.o msgarg.o\ profile.o seq.o system.o wrap.o BINS = mmburst mmlnfile mmls mmmv mmpack mmpath mmrcv mmread mmrm mmsend TOTEST = seq TESTBINS = $(TOTEST:S/^/test-/g) TESTINS = $(TOTEST:S/^/test-/g:S/$/.in/g) TESTGENS = $(TOTEST:S/^/test-/g:S/$/-gen/g) INSTBINS = $(BINS:S;^;$(INSTDIR)/;g) OTHERLIBS = -lparsedate -ltermcap .MAIN: $(BINS) $(TESTBINS) lib.a: $(LIBO) rm -f lib.a ar cq lib.a $(LIBO) ranlib lib.a $(BINS): lib.a $(.TARGET).o $(CC) -o $(.TARGET) $(.TARGET).o lib.a $(OTHERLIBS) $(TESTBINS): lib.a $(.TARGET).o $(CC) -o $(.TARGET) $(.TARGET).o lib.a $(OTHERLIBS) $(TESTBINS:S/$/.o/g): $(.TARGET:S/.o$/.c/:S/^test-//) $(COMPILE.c) -o $(.TARGET) $(.TARGET:S/.o$/.c/:S/^test-//) -DTESTBED $(TESTGENS): $(.TARGET).c $(INSTBINS): $(.TARGET:S=^$(INSTDIR)/==) cp $(.ALLSRC) $(.TARGET)+ && if [ -f $(.TARGET) ]; then rm -f $(.TARGET)- && ln $(.TARGET) $(.TARGET)-; else :; fi && mv $(.TARGET)+ $(.TARGET) .PHONY:: install install: $(INSTBINS) .PHONY:: md5 md5: md5 *.[ch] Makefile design test-*.in test-*.out .PHONY:: run-tests run-tests: $(TESTBINS) $(TESTINS) @for i in $(TOTEST); do \ echo "test-$$i < test-$$i.in | cmp - test-$$i.out"; \ test-$$i < test-$$i.in | cmp - test-$$i.out; \ done .PHONY:: depend depend: mkdep $(CFLAGS) *.c .PHONY:: clean clean: rm -f $(LIBO) $(TESTBINS:S/$/.o/g) lib.a $(BINS) $(BINS:S/$/.o/g) $(TESTBINS) $(TESTGENS) *= *.core ktrace.out .depend