X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/b3bbf7061a5906d3086a9fa08f36d77d77302e81..f4174d477ac34e47067d4a9e45cc192f7271973a:/Makefile?ds=sidebyside

diff --git a/Makefile b/Makefile
index 29d51539..b9928f58 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,24 @@
 .SUFFIXES:	.html .sgml
 
-VERSION	= 1.3.3
+VERSION	= 1.4.1
+VDATE	= 8 March 2009
+
+BINDIR		= $(PREFIX)/bin
+INCLUDEDIR	= $(PREFIX)/include
+LIBDIR		= $(PREFIX)/lib
+MANDIR		= $(PREFIX)/man
+
+INSTALL_PROGRAM	= install -m 0755
+INSTALL_DATA	= install -m 0444
+INSTALL_LIB	= install -m 0644
+INSTALL_MAN	= $(INSTALL_DATA)
 
 CFLAGS += -W -Wall -Wstrict-prototypes -Wno-unused-parameter -g 
+CFLAGS += -DVERSION=\"$(VERSION)\"
 
 LIBLNS	= macro.ln mdoc.ln hash.ln strings.ln xstd.ln argv.ln \
-	  validate.ln action.ln 
+	  validate.ln action.ln lib.ln att.ln arch.ln vol.ln \
+	  msec.ln st.ln
 
 TREELNS	= mdoctree.ln mmain.ln 
 
@@ -20,7 +33,8 @@ LLNS	= llib-llibmdoc.ln llib-lmdoctree.ln llib-lmdocterm.ln
 LIBS	= libmdoc.a
 
 LIBOBJS	= macro.o mdoc.o hash.o strings.o xstd.o argv.o \
-	  validate.o action.o
+	  validate.o action.o lib.o att.o arch.o vol.o msec.o \
+	  st.o
 
 TERMOBJS= mdocterm.o mmain.o term.o
 
@@ -28,11 +42,15 @@ TREEOBJS= mdoctree.o mmain.o
 
 LINTOBJS= mdoclint.o mmain.o
 
-OBJS	= $(LIBOBJS) $(TERMOBJS) $(TREEOBJS)
+OBJS	= $(LIBOBJS) $(TERMOBJS) $(TREEOBJS) $(LINTOBJS)
 
 SRCS	= macro.c mdoc.c hash.c strings.c xstd.c argv.c validate.c \
 	  action.c term.c mdoctree.c mdocterm.c mmain.c mdoclint.c
 
+SCRIPTS = strings.sh
+
+GEN	= lib.c att.c arch.c vol.c msec.c st.c
+
 HEADS	= mdoc.h private.h term.h mmain.h
 
 SGMLS	= index.sgml
@@ -41,17 +59,18 @@ HTMLS	= index.html
 
 STATICS	= style.css external.png
 
-TARGZS	= mdocml-$(VERSION).tar.gz mdocml-oport-$(VERSION).tar.gz
+TARGZS	= mdocml-$(VERSION).tar.gz mdocml-oport-$(VERSION).tar.gz \
+	  mdocml-nport-$(VERSION).tar.gz
 
 MANS	= mdoctree.1 mdocterm.1 mdoclint.1 mdoc.3
 
 BINS	= mdocterm mdoctree mdoclint
 
 CLEAN	= $(BINS) $(LNS) $(LLNS) $(LIBS) $(OBJS) $(HTMLS) \
-	  $(TARGZS)
+	  $(TARGZS) $(GEN)
 
-INSTALL	= $(SRCS) $(HEADS) Makefile Makefile.port DESCR $(MANS) \
-	  $(SGMLS) $(STATICS)
+INSTALL	= $(SRCS) $(HEADS) Makefile DESCR $(MANS) $(SGMLS) \
+	  $(STATICS) $(SCRIPTS) Makefile.netbsd Makefile.openbsd
 
 FAIL	= regress/test.empty \
 	  regress/test.prologue.00 \
@@ -60,29 +79,28 @@ FAIL	= regress/test.empty \
 	  regress/test.prologue.03 \
 	  regress/test.prologue.04 \
 	  regress/test.prologue.06 \
-	  regress/test.prologue.13 \
-	  regress/test.prologue.15 \
-	  regress/test.prologue.16 \
-	  regress/test.prologue.18 \
 	  regress/test.prologue.19 \
-	  regress/test.prologue.21 \
-	  regress/test.prologue.22 \
 	  regress/test.prologue.23 \
 	  regress/test.prologue.24 \
-	  regress/test.prologue.25 \
-	  regress/test.prologue.26 \
 	  regress/test.prologue.27 \
 	  regress/test.prologue.28 \
-	  regress/test.prologue.29 \
 	  regress/test.prologue.30 \
 	  regress/test.prologue.31 \
 	  regress/test.prologue.32 \
-	  regress/test.prologue.33 \
 	  regress/test.sh.03 \
 	  regress/test.escape.01 \
 	  regress/test.escape.02 \
 	  regress/test.escape.03 \
-	  regress/test.escape.04
+	  regress/test.escape.04 \
+	  regress/test.escape.06 \
+	  regress/test.escape.07 \
+	  regress/test.escape.08 \
+	  regress/test.escape.09 \
+	  regress/test.escape.11 \
+	  regress/test.escape.12 \
+	  regress/test.escape.14 \
+	  regress/test.argv.01 \
+	  regress/test.argv.02
 
 SUCCEED	= regress/test.prologue.05 \
 	  regress/test.prologue.07 \
@@ -91,9 +109,19 @@ SUCCEED	= regress/test.prologue.05 \
 	  regress/test.prologue.10 \
 	  regress/test.prologue.11 \
 	  regress/test.prologue.12 \
+	  regress/test.prologue.13 \
 	  regress/test.prologue.14 \
+	  regress/test.prologue.15 \
+	  regress/test.prologue.16 \
 	  regress/test.prologue.17 \
+	  regress/test.prologue.18 \
 	  regress/test.prologue.20 \
+	  regress/test.prologue.21 \
+	  regress/test.prologue.22 \
+	  regress/test.prologue.25 \
+	  regress/test.prologue.26 \
+	  regress/test.prologue.29 \
+	  regress/test.prologue.33 \
 	  regress/test.sh.00 \
 	  regress/test.name.00 \
 	  regress/test.name.01 \
@@ -106,9 +134,14 @@ SUCCEED	= regress/test.prologue.05 \
 	  regress/test.list.04 \
 	  regress/test.list.05 \
 	  regress/test.list.06 \
+	  regress/test.list.07 \
 	  regress/test.sh.01 \
 	  regress/test.sh.02 \
-	  regress/test.escape.00
+	  regress/test.escape.00 \
+	  regress/test.escape.05 \
+	  regress/test.escape.10 \
+	  regress/test.escape.13 \
+	  regress/test.argv.00
 
 REGRESS	= $(FAIL) $(SUCCEED)
 
@@ -119,20 +152,25 @@ lint:	$(LLNS)
 clean:
 	rm -f $(CLEAN)
 
+cleanlint:
+	rm -f $(LNS) $(LLNS)
+
 dist:	mdocml-$(VERSION).tar.gz
 
-port:	mdocml-oport-$(VERSION).tar.gz
+port:	mdocml-oport-$(VERSION).tar.gz mdocml-nport-$(VERSION).tar.gz
 
 www:	$(HTMLS) $(TARGZS)
 
 installwww: www
 	install -m 0444 $(HTMLS) $(STATICS) $(PREFIX)/
 	install -m 0444 mdocml-$(VERSION).tar.gz $(PREFIX)/snapshots/
-	install -m 0444 mdocml-oport-$(VERSION).tar.gz $(PREFIX)/ports-openbsd/
 	install -m 0444 mdocml-$(VERSION).tar.gz $(PREFIX)/snapshots/mdocml.tar.gz
+	install -m 0444 mdocml-oport-$(VERSION).tar.gz $(PREFIX)/ports-openbsd/
 	install -m 0444 mdocml-oport-$(VERSION).tar.gz $(PREFIX)/ports-openbsd/mdocml.tar.gz
+	install -m 0444 mdocml-nport-$(VERSION).tar.gz $(PREFIX)/ports-netbsd/
+	install -m 0444 mdocml-nport-$(VERSION).tar.gz $(PREFIX)/ports-netbsd/mdocml.tar.gz
 
-regress::
+regress: mdoclint $(FAIL) $(SUCCEED)
 	@for f in $(FAIL); do \
 		echo "./mdoclint $$f" ; \
 		./mdoclint $$f 2>/dev/null || continue ; exit 1 ; done
@@ -141,30 +179,67 @@ regress::
 		./mdoclint $$f 2>/dev/null || exit 1 ; done
 
 install:
-	mkdir -p $(PREFIX)/bin/
-	mkdir -p $(PREFIX)/include/mdoc/
-	mkdir -p $(PREFIX)/lib/
-	mkdir -p $(PREFIX)/man/man1/
-	install -m 0755 mdocterm $(PREFIX)/bin/
-	install -m 0755 mdoctree $(PREFIX)/bin/
-	install -m 0755 mdoclint $(PREFIX)/bin/
-	install -m 0444 mdocterm.1 $(PREFIX)/man/man1/
-	install -m 0444 mdoctree.1 $(PREFIX)/man/man1/
-	install -m 0444 mdoclint.1 $(PREFIX)/man/man1/
-	install -m 0444 mdoc.3 $(PREFIX)/man/man3/
-	install -m 0644 libmdoc.a $(PREFIX)/lib/
-	install -m 0444 mdoc.h $(PREFIX)/include/
+	mkdir -p $(BINDIR)
+	mkdir -p $(INCLUDEDIR)
+	mkdir -p $(LIBDIR)/lib
+	mkdir -p $(MANDIR)/man1
+	mkdir -p $(MANDIR)/man3
+	$(INSTALL_PROGRAM) mdocterm $(BINDIR)
+	$(INSTALL_PROGRAM) mdoctree $(BINDIR)
+	$(INSTALL_PROGRAM) mdoclint $(BINDIR)
+	$(INSTALL_MAN) mdocterm.1 $(MANDIR)/man1
+	$(INSTALL_MAN) mdoctree.1 $(MANDIR)/man1
+	$(INSTALL_MAN) mdoclint.1 $(MANDIR)/man1
+	$(INSTALL_MAN) mdoc.3 $(MANDIR)/man3
+	$(INSTALL_LIB) libmdoc.a $(LIBDIR)
+	$(INSTALL_DATA) mdoc.h $(INCLUDEDIR)
 
 uninstall:
-	rm -f $(PREFIX)/bin/mdocterm
-	rm -f $(PREFIX)/bin/mdoctree
-	rm -f $(PREFIX)/bin/mdoclint
-	rm -f $(PREFIX)/man/man1/mdocterm.1
-	rm -f $(PREFIX)/man/man1/mdoctree.1
-	rm -f $(PREFIX)/man/man1/mdoclint.1
-	rm -f $(PREFIX)/man/man3/mdoc.3
-	rm -f $(PREFIX)/lib/libmdoc.a
-	rm -f $(PREFIX)/include/mdoc.h
+	rm -f $(BINDIR)/mdocterm
+	rm -f $(BINDIR)/mdoctree
+	rm -f $(BINDIR)/mdoclint
+	rm -f $(MANDIR)/man1/mdocterm.1
+	rm -f $(MANDIR)/man1/mdoctree.1
+	rm -f $(MANDIR)/man1/mdoclint.1
+	rm -f $(MANDIR)/man3/mdoc.3
+	rm -f $(LIBDIR)/libmdoc.a
+	rm -f $(INCLUDEDIR)/mdoc.h
+
+lib.ln: lib.c private.h
+lib.o: lib.c private.h
+
+att.ln: att.c private.h
+att.o: att.c private.h
+
+arch.ln: arch.c private.h
+arch.o: arch.c private.h
+
+vol.ln: vol.c private.h
+vol.o: vol.c private.h
+
+msec.ln: msec.c private.h
+msec.o: msec.c private.h
+
+st.ln: st.c private.h
+st.o: st.c private.h
+
+lib.c: lib.in strings.sh
+	sh strings.sh -o $@ lib lib.in
+
+st.c: st.in strings.sh
+	sh strings.sh -o $@ st st.in
+
+msec.c: msec.in strings.sh
+	sh strings.sh -o $@ msec msec.in
+
+att.c: att.in strings.sh
+	sh strings.sh -o $@ att att.in
+
+arch.c: arch.in strings.sh
+	sh strings.sh -o $@ arch arch.in
+
+vol.c: vol.in strings.sh
+	sh strings.sh -o $@ vol vol.in
 
 macro.ln: macro.c private.h
 macro.o: macro.c private.h
@@ -211,9 +286,30 @@ mmain.h: mdoc.h
 
 term.h: mdoc.h
 
-mdocml-oport-$(VERSION).tar.gz: mdocml-$(VERSION).tar.gz Makefile.port DESCR
+mdocml-nport-$(VERSION).tar.gz: mdocml-$(VERSION).tar.gz Makefile.netbsd DESCR
+	mkdir -p .dist/mdocml/
+	sed -e "s!@VERSION@!$(VERSION)!" Makefile.netbsd > \
+		.dist/mdocml/Makefile
+	md5 mdocml-$(VERSION).tar.gz > .dist/mdocml/distinfo
+	rmd160 mdocml-$(VERSION).tar.gz >> .dist/mdocml/distinfo
+	sha1 mdocml-$(VERSION).tar.gz >> .dist/mdocml/distinfo
+	install -m 0644 DESCR .dist/mdocml/
+	echo @comment $$NetBSD$$ > .dist/mdocml/PLIST
+	echo bin/mdocterm >> .dist/mdocml/PLIST
+	echo bin/mdoctree >> .dist/mdocml/PLIST
+	echo bin/mdoclint >> .dist/mdocml/PLIST
+	echo lib/libmdoc.a >> .dist/mdocml/PLIST
+	echo include/mdoc.h >> .dist/mdocml/PLIST
+	echo man/man1/mdoctree.1 >> .dist/mdocml/PLIST
+	echo man/man1/mdocterm.1 >> .dist/mdocml/PLIST
+	echo man/man1/mdoclint.1 >> .dist/mdocml/PLIST
+	echo man/man3/mdoc.3 >> .dist/mdocml/PLIST
+	( cd .dist/ && tar zcf ../$@ mdocml/ )
+	rm -rf .dist/
+
+mdocml-oport-$(VERSION).tar.gz: mdocml-$(VERSION).tar.gz Makefile.openbsd DESCR
 	mkdir -p .dist/mdocml/pkg
-	sed -e "s!@VERSION@!$(VERSION)!" Makefile.port > \
+	sed -e "s!@VERSION@!$(VERSION)!" Makefile.openbsd > \
 		.dist/mdocml/Makefile
 	md5 mdocml-$(VERSION).tar.gz > .dist/mdocml/distinfo
 	rmd160 mdocml-$(VERSION).tar.gz >> .dist/mdocml/distinfo
@@ -263,4 +359,5 @@ mdoclint: $(LINTOBJS) libmdoc.a
 
 .sgml.html:
 	validate $<
-	cp -f $< $@
+	sed -e "s!@VERSION@!$(VERSION)!" -e "s!@VDATE@!$(VDATE)!" $< > $@
+