X-Git-Url: http://git.tuebingen.mpg.de/?p=adu.git;a=blobdiff_plain;f=Makefile;h=ddaef7b95926a21ac9686d5ee4eb0bf28283e419;hp=60f3c284cc02ad2e05cd613521fbd475507718d7;hb=ce0adfac23ad42e907118cb1dd1d91ad16a9ef33;hpb=89630c6c71b9f3202e5212d35877d6f907c6da44 diff --git a/Makefile b/Makefile index 60f3c28..ddaef7b 100644 --- a/Makefile +++ b/Makefile @@ -1,42 +1,93 @@ -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 user.o bloom.o all: adu +version := 0.1.0 +uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') 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)"' +CPPFLAGS += -I/usr/local/include -LDFLAGS += -D_LARGEFILE64_SOURCE -LDFLAGS += $(shell getconf LFS64_LDFLAGS) -LDFLAGS += $(shell getconf LFS64_LIBS) +LDFLAGS += -L/usr/local/lib + +PREFIX ?= /usr/local +ifeq "$(origin CC)" "default" + CC := gcc +endif + + +ifeq (,$(findstring BSD,$(uname_S))) + CPPFLAGS += -D_LARGEFILE64_SOURCE + CPPFLAGS += $(shell getconf LFS64_CFLAGS) + LDFLAGS += -D_LARGEFILE64_SOURCE + LDFLAGS += $(shell getconf LFS64_LDFLAGS) + LDFLAGS += $(shell getconf LFS64_LIBS) + CPPFLAGS += -DHAVE_STAT64=1 +endif Makefile.deps: $(wildcard *.c *.h) - gcc -MM -MG *.c > $@ + $(CC) $(CPPFLAGS) -MM -MG *.c > $@ -include Makefile.deps adu: $(objects) - $(CC) -o $@ $(LDFLAGS) $(objects) -lcrypto -losl + $(CC) -o $@ $(LDFLAGS) $(objects) -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 < $< %.o: %.c Makefile $(CC) -c $(CPPFLAGS) $(DEBUG_CPPFLAGS) $< +%.ppm: %.sk + sk2ppm $< > $@ +%.png: %.ppm + convert $< $@ + +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) $< + +adu.1: adu adu.1.inc + help2man -h --detailed-help --include adu.1.inc -N ./$< > $@ + +%.1.html: %.1 + man2html $< | sed -e 's|^
$$|

|g' > $@ + clean: - rm -f *.o adu + rm -f *.o adu *cmdline.c *cmdline.h adu.1 adu.1.html adu.png index.html adu.sk~ + +index.html: adu.1.html index.html.in INSTALL README + sed -e '/@README@/,$$d' index.html.in > $@ + grutatxt -nb < README >> $@ + sed -e '1,/@README@/d' -e '/@INSTALL@/,$$d' index.html.in >> $@ + grutatxt -nb < INSTALL >> $@ + sed -e '1,/@INSTALL@/d' -e '/@MAN_PAGE@/,$$d' index.html.in >> $@ + sed -e '1,/Return to Main Contents/d' -e '/Index/,$$d' adu.1.html >> $@ + sed -e '1,/@MAN_PAGE@/d' index.html.in >> $@ + +install: adu adu.1 + install -s adu $(PREFIX)/bin + install -m 0644 adu.1 $(PREFIX)/man/man1