From 38a0077033ebdd51f730852256352a4663b0f034 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Sat, 20 Sep 2014 18:09:44 +0200
Subject: Generate a manpage
help2man should be enough so far.
---
.gitignore | 1 +
Makefile | 5 ++++-
README | 2 +-
ponymap.c | 6 +++---
utils.c | 4 ++--
5 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/.gitignore b/.gitignore
index 972f800..a59174c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
# Build files
/ponymap
+/ponymap.1
/plugins/*.so
# Qt Creator files
diff --git a/Makefile b/Makefile
index 209ba14..a07ad22 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ LDFLAGS = `pkg-config --libs libssl jansson` -lpthread -lrt -ldl -lcurses
.PHONY: all clean
.SUFFIXES:
-targets = ponymap plugins/http.so plugins/irc.so plugins/ssh.so
+targets = ponymap ponymap.1 plugins/http.so plugins/irc.so plugins/ssh.so
all: $(targets)
@@ -19,5 +19,8 @@ clean:
ponymap: ponymap.c utils.c plugin-api.h siphash.c
$(CC) ponymap.c siphash.c -o $@ $(CFLAGS) $(LDFLAGS)
+ponymap.1: ponymap
+ help2man -No $@ ./$<
+
plugins/%.so: plugins/%.c utils.c plugin-api.h
$(CC) $< -o $@ $(CFLAGS) $(LDFLAGS) -shared -fPIC
diff --git a/README b/README
index efc6d2e..aa7f917 100644
--- a/README
+++ b/README
@@ -12,7 +12,7 @@ to write your own service detection plugins.
Building and Running
--------------------
-Build dependencies: openssl, clang, pkg-config, GNU make, Jansson
+Build dependencies: openssl, clang, pkg-config, GNU make, help2man, Jansson
If you don't have Clang, you can edit the Makefile to use GCC or TCC, they work
just as good. But there's no CMake support yet, so I force it in the Makefile.
diff --git a/ponymap.c b/ponymap.c
index e4c8a98..c19a94b 100644
--- a/ponymap.c
+++ b/ponymap.c
@@ -1826,7 +1826,7 @@ parse_program_arguments (struct app_context *ctx, int argc, char **argv)
g_debug_mode = true;
break;
case 'h':
- opt_handler_usage (&oh);
+ opt_handler_usage (&oh, stdout);
exit (EXIT_SUCCESS);
case 'V':
printf (PROGRAM_NAME " " PROGRAM_VERSION "\n");
@@ -1864,7 +1864,7 @@ parse_program_arguments (struct app_context *ctx, int argc, char **argv)
exit (EXIT_SUCCESS);
default:
print_error ("wrong options");
- opt_handler_usage (&oh);
+ opt_handler_usage (&oh, stderr);
exit (EXIT_FAILURE);
}
@@ -1873,7 +1873,7 @@ parse_program_arguments (struct app_context *ctx, int argc, char **argv)
if (!argc)
{
- opt_handler_usage (&oh);
+ opt_handler_usage (&oh, stderr);
exit (EXIT_FAILURE);
}
diff --git a/utils.c b/utils.c
index 1555715..f84001a 100644
--- a/utils.c
+++ b/utils.c
@@ -1962,7 +1962,7 @@ opt_handler_init (struct opt_handler *self, int argc, char **argv,
}
static void
-opt_handler_usage (struct opt_handler *self)
+opt_handler_usage (struct opt_handler *self, FILE *stream)
{
struct str usage;
str_init (&usage);
@@ -2000,7 +2000,7 @@ opt_handler_usage (struct opt_handler *self)
str_free (&row);
}
- fputs (usage.str, stderr);
+ fputs (usage.str, stream);
str_free (&usage);
}
--
cgit v1.2.3-70-g09d2