Merge commit 'fml/master'
[adu.git] / Makefile
index b590b29..b595c68 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,26 @@
-objects := adu.o string.o cmdline.o
+objects := adu.o string.o cmdline.o fd.o select.o create.o interactive.o select.cmdline.o
 all: adu
 all: adu
+version := 0.0.3
 
 DEBUG_CPPFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W
 DEBUG_CPPFLAGS += -Wredundant-decls
 
 DEBUG_CPPFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W
 DEBUG_CPPFLAGS += -Wredundant-decls
-#CPPFLAGS += -Os
+CPPFLAGS += -Os
 CPPFLAGS += -Wall
 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 += -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 > $@
 
 Makefile.deps: $(wildcard *.c *.h)
        gcc -MM -MG *.c > $@
@@ -19,7 +28,7 @@ Makefile.deps: $(wildcard *.c *.h)
 -include Makefile.deps
 
 adu: $(objects)
 -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.o: cmdline.c cmdline.h
        $(CC) -c $(CPPFLAGS) $<
@@ -31,5 +40,18 @@ cmdline.c cmdline.h: adu.ggo
 %.o: %.c Makefile
        $(CC) -c $(CPPFLAGS) $(DEBUG_CPPFLAGS) $<
 
 %.o: %.c Makefile
        $(CC) -c $(CPPFLAGS) $(DEBUG_CPPFLAGS) $<
 
+select.cmdline.c select.cmdline.h: select.ggo
+       gengetopt --string-parser \
+               --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
 clean:
        rm -f *.o adu