Merge branch 'refs/heads/t/lopsub'
[osl.git] / Makefile
index 25b06ea..7ce4493 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ bindir := $(PREFIX)/bin
 mandir := $(PREFIX)/man/man1
 
 objects := osl.o util.o rbtree.o sha1.o
-fsck_objects := fsck.o osl.o util.o rbtree.o sha1.o fsck.cmdline.o
+fsck_objects := fsck.o osl.o util.o rbtree.o sha1.o oslfsck.lsg.o
 headers := osl.h
 executables := oslfsck
 man_pages := oslfsck.1
@@ -29,7 +29,7 @@ z := 3
 VERSION := $(x).$(y).$(z)
 
 # common flags
-CPPFLAGS += -DVERSION='"$(VERSION)"'
+CPPFLAGS += -DOSL_VERSION='"$(VERSION)"'
 
 CFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W
 CFLAGS += -Wredundant-decls
@@ -121,28 +121,20 @@ osl.c fsck.c:
 
 -include Makefile.deps
 
-fsck.cmdline.o: fsck.cmdline.c fsck.cmdline.h
-       $(CC) $(CPPFLAGS) -c $<
-
 %.o: %.c Makefile errtab.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(LIBCFLAGS) $<
 
-fsck.cmdline.h fsck.cmdline.c: fsck.ggo Makefile
-       gengetopt \
-               --conf-parser \
-               --unamed-opts=table \
-               --no-handle-version \
-               --file-name=fsck.cmdline \
-               --func-name=fsck_cmdline_parser \
-               --set-package="oslfsck" \
-               --arg-struct-name=fsck_args_info \
-               < $<
-
 oslfsck: $(fsck_objects)
-       $(CC) -o $@ $(fsck_objects)
+       $(CC) -o $@ $(fsck_objects) -llopsub
+
+%.lsg.c: %.suite
+       lopsubgen --gen-c < $<
+
+%.lsg.h: %.suite
+       lopsubgen --gen-header < $<
 
-oslfsck.1: oslfsck
-       help2man -h --detailed-help -N ./$< > $@
+%.1: %.suite
+       lopsubgen --gen-man=$@ < $<
 
 $(realname): $(objects)
        $(CC) $(LDFLAGS) -o $@ $(objects)
@@ -171,8 +163,8 @@ osl.h: osl.h.in osl_errors.h Makefile
        cat osl.h.in osl_errors.h >> $@
        echo '#endif /* _OSL_H */' >> $@
 clean:
-       rm -f *.o $(realname) osl.h osl_errors.h errtab.h fsck.cmdline.h \
-               fsck.cmdline.c oslfsck *.a *.ga *.sym
+       rm -f *.o $(realname) osl.h osl_errors.h errtab.h \
+               oslfsck *.a *.ga *.sym *.lsg.*
 
 distclean: clean
        rm -f web/index.html web/oslfsck.1.html web/osl.png