ref: e41229f96b0f353af98e8f05134a1564e4a9ff16
dir: /Makefile/
DESTDIR = PREFIX = /usr/local BINDIR = $(DESTDIR)$(PREFIX)/bin MANDIR = $(DESTDIR)$(PREFIX)/man/man1 CFLAGS = -g -O2 -Wall SRC = tree.h compile.c tree.c peg.c GENSRC = version.h minipeg-new.c peg.c www/index.html OBJ = compile.o tree.o peg.o all: minipeg install: $(BINDIR) $(BINDIR)/leg $(MANDIR) $(MANDIR)/peg.1 mkdir -p $(MANDIR) $(BINDIR) cp minipeg $(BINDIR) cp doc/minipeg.1 $(MANDIR) $(MANDIR) : mkdir -p $(MANDIR) bootstrap-minipeg: minipeg.c $(CC) $(CFLAGS) -o $@ minipeg.c peg.c: peg.peg bootstrap-minipeg ./bootstrap-minipeg -o $@ peg.peg %.o : %.c tree.h version.h $(CC) $(CFLAGS) -c -o $@ $< minipeg: $(OBJ) $(CC) $(CFLAGS) -o $@ $(OBJ) version.h: echo "#define MINIPEG_VERSION"\ "\"$(shell git describe --tags --always || date +%Y.%m.%d)\"" > version.h minipeg-new.c: version.h $(SRC) amalg.sh sh amalg.sh version.h $(SRC) > $@ www/index.html: .FORCE sh ./www/index.html.sh > $@ %.c.noversion : %.c grep -v -e "^/\* Parser generated by minipeg " -e '#define MINIPEG_VERSION' $< > $@ # Check the bootstrap minipeg.c matches the built minipeg-new.c (without version info). check-self-host: minipeg.c.noversion minipeg-new.c.noversion .FORCE diff -u minipeg.c.noversion minipeg-new.c.noversion check: minipeg check-self-host .FORCE $(SHELL) -ec '(cd examples; $(MAKE))' clean : .FORCE rm -f minipeg bootstrap-minipeg rm *.c.noversion $(GENSRC) $(OBJ) $(SHELL) -ec '(cd examples; $(MAKE) clean)' .FORCE :