aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.mk4
-rw-r--r--libsimple-arg.h12
2 files changed, 14 insertions, 2 deletions
diff --git a/config.mk b/config.mk
index f160bbd..605a704 100644
--- a/config.mk
+++ b/config.mk
@@ -1,6 +1,8 @@
-PREFIX = /usr
+PREFIX = /usr
MANPREFIX = $(PREFIX)/share/man
+CC = cc
+
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700
CFLAGS = -std=c11 -Wall -Wextra -O2 $(CPPFLAGS)
LDFLAGS = -s
diff --git a/libsimple-arg.h b/libsimple-arg.h
index 3ffc3ed..bc7d4ae 100644
--- a/libsimple-arg.h
+++ b/libsimple-arg.h
@@ -7,6 +7,15 @@
#include <string.h>
+#ifdef LIBSIMPLY_CONFIG_MULTICALL_BINARY /* Define by the application */
+# define _LIBSIMPLY_IF_MULTICALL_BINARY(...) __VA_ARGS__
+# define _LIBSIMPLY_UNLESS_MULTICALL_BINARY(...)
+#else
+# define _LIBSIMPLY_IF_MULTICALL_BINARY(...)
+# define _LIBSIMPLY_UNLESS_MULTICALL_BINARY(...) __VA_ARGS__
+#endif
+
+
/**
* The zeroth command line argument, the name of the process,
* set by the command line parsing macros
@@ -467,7 +476,8 @@ struct longopt {
fprintf(stderr, "usage: %s%s%s\n", argv0, *syn ? " " : "", syn);\
exit(STATUS);\
}\
- char *argv0 = NULL
+ _LIBSIMPLY_UNLESS_MULTICALL_BINARY(char *argv0 = NULL)\
+ _LIBSIMPLY_IF_MULTICALL_BINARY(int main(int, char *[]))
#endif