Make it easier to print the help for select options.
[adu.git] / Makefile
index 8dcf26dbbcc573a1114933231e3b07ce00cf7b14..187dd886894a7dbeba5e3fa19b0a5749e517dfae 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,26 @@
-objects := adu.o string.o cmdline.o fd.o select.o create.c
+objects := adu.o string.o cmdline.o fd.o select.o create.o interactive.o select.cmdline.o format.o
 all: adu
+version := 0.0.3
 
 DEBUG_CPPFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W
 DEBUG_CPPFLAGS += -Wredundant-decls
-#CPPFLAGS += -Os
+CPPFLAGS += -Os
 CPPFLAGS += -Wall
-#CPPFLAGS += -Wuninitialized
+CPPFLAGS += -Wuninitialized
 CPPFLAGS += -Wchar-subscripts
 CPPFLAGS += -Wformat-security
 CPPFLAGS += -Werror-implicit-function-declaration
 CPPFLAGS += -Wmissing-format-attribute
 CPPFLAGS += -Wunused-macros
 CPPFLAGS += -Wbad-function-cast
+CPPFLAGS += -D_LARGEFILE64_SOURCE
+CPPFLAGS += $(shell getconf LFS64_CFLAGS)
+CPPFLAGS += -DVERSION='"$(version)"'
+
+LDFLAGS += -D_LARGEFILE64_SOURCE
+LDFLAGS += $(shell getconf LFS64_LDFLAGS)
+LDFLAGS += $(shell getconf LFS64_LIBS)
+
 
 Makefile.deps: $(wildcard *.c *.h)
        gcc -MM -MG *.c > $@
@@ -19,17 +28,29 @@ Makefile.deps: $(wildcard *.c *.h)
 -include Makefile.deps
 
 adu: $(objects)
-       $(CC) -o $@ $(objects) -lcrypto -losl
+       $(CC) -o $@ $(LDFLAGS) $(objects) -lcrypto -losl
 
 cmdline.o: cmdline.c cmdline.h
        $(CC) -c $(CPPFLAGS) $<
 
 cmdline.c cmdline.h: adu.ggo
-       gengetopt --conf-parser < $<
+       gengetopt --no-handle-error --no-handle-help --conf-parser < $<
 
 
 %.o: %.c Makefile
        $(CC) -c $(CPPFLAGS) $(DEBUG_CPPFLAGS) $<
 
+select.cmdline.c select.cmdline.h: select.ggo
+       gengetopt --set-package=select \
+               --no-handle-help \
+               --no-handle-error \
+               --no-handle-version \
+               --arg-struct-name=select_args_info \
+               --file-name=$(subst .ggo,,$<).cmdline \
+               --func-name $(subst .ggo,,$<)_cmdline_parser < $<
+
+select.cmdline.o: select.cmdline.c select.cmdline.h
+       $(CC) -c $(CPPFLAGS) $<
+
 clean:
-       rm -f *.o adu
+       rm -f *.o adu *cmdline.c *cmdline.h