blob: b00cb8ffa72c73c4b5a97b88052137955db5b2f6 (
plain) (
tree)
|
|
.POSIX:
CONFIGFILE = config.mk
CALLTYPE = multicall-hardlinks
# multicall-hardlinks = multiple hardlinks of the same multicall binary is installed
# multicall-symlinks = multiple links to a multicall binary named $(PREFIX)/bin/contacts are installed
# singlecall = separate binaries are install for each command (greatly wastes space when statically linked)
BIN =\
add-contact\
find-contact-by-address\
find-contact-by-chat\
find-contact-by-email\
find-contact-by-name\
find-contact-by-number\
find-contact-by-organisation\
find-contact-by-pgpkey\
find-contact-by-photo\
find-contact-by-site\
get-contact-addresses\
get-contact-birthday\
get-contact-blocks\
get-contact-chats\
get-contact-emails\
get-contact-file\
get-contact-gender\
get-contact-groups\
get-contact-name\
get-contact-notes\
get-contact-numbers\
get-contact-organisations\
get-contact-pgpkeys\
get-contact-photos\
get-contact-sites\
is-contact-ice\
list-birthdays\
list-chat-contacts\
list-contact-groups\
list-contact-organisations\
list-contacts\
list-group-contacts\
list-organisation-contacts\
print-contact\
remove-contact\
set-contact-addresses\
set-contact-birthday\
set-contact-blocks\
set-contact-chats\
set-contact-emails\
set-contact-gender\
set-contact-groups\
set-contact-ice\
set-contact-name\
set-contact-notes\
set-contact-numbers\
set-contact-organisations\
set-contact-pgpkeys\
set-contact-photos\
set-contact-sites\
unblock-contact
HDR =\
common.h
OBJ = $(BIN:=.o) common-birthday.o common-address.o
BOBJ = $(OBJ:.o=.bo)
include $(CONFIGFILE)
include $(CALLTYPE).mk
$(OBJ): $(@:.o=.c) $(HDR)
$(BOBJ): $(@:.bo=.c) $(HDR)
.c.o:
$(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS)
.c.bo:
$(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) -Dmain="$$(printf '%s\n' main__$* | tr - _)" -DMULTICALL_BINARY
contacts: contacts.o $(BOBJ)
$(CC) -o $@ $@.o $(BOBJ) $(LDFLAGS)
contacts.c: contacts.c.in Makefile
printf '#define LIST_COMMANDS' > $@
for bin in $(BIN); do\
printf '\\\n\tX(%s, %s)' $$bin $$(printf '%s\n' $$bin | tr - _) || exit 1;\
done >> $@
printf '\n\n' >> $@
cat contacts.c.in >> $@
# (printf '\\\n\tX(%s)' $(BIN); printf '\n\n') are run together
# because the input of sed must be a text file, and the first
# printf(1) do not generate a text file as text files are by
# definition LF terminated unless they are empty (also no line
# may exceed 2048 bytes including the LF)
add-contact: add-contact.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-address: find-contact-by-address.o common-address.o
$(CC) -o $@ $@.o common-address.o $(LDFLAGS)
find-contact-by-chat: find-contact-by-chat.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-email: find-contact-by-email.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-name: find-contact-by-name.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-number: find-contact-by-number.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-organisation: find-contact-by-organisation.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-pgpkey: find-contact-by-pgpkey.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-photo: find-contact-by-photo.o
$(CC) -o $@ $@.o $(LDFLAGS)
find-contact-by-site: find-contact-by-site.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-addresses: get-contact-addresses.o common-address.o
$(CC) -o $@ $@.o common-address.o $(LDFLAGS)
get-contact-birthday: get-contact-birthday.o common-birthday.o
$(CC) -o $@ $@.o common-birthday.o $(LDFLAGS)
get-contact-blocks: get-contact-blocks.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-chats: get-contact-chats.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-emails: get-contact-emails.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-file: get-contact-file.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-gender: get-contact-gender.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-groups: get-contact-groups.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-name: get-contact-name.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-notes: get-contact-notes.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-numbers: get-contact-numbers.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-organisations: get-contact-organisations.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-pgpkeys: get-contact-pgpkeys.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-photos: get-contact-photos.o
$(CC) -o $@ $@.o $(LDFLAGS)
get-contact-sites: get-contact-sites.o
$(CC) -o $@ $@.o $(LDFLAGS)
is-contact-ice: is-contact-ice.o
$(CC) -o $@ $@.o $(LDFLAGS)
list-birthdays: list-birthdays.o common-birthday.o
$(CC) -o $@ $@.o common-birthday.o $(LDFLAGS)
list-chat-contacts: list-chat-contacts.o
$(CC) -o $@ $@.o $(LDFLAGS)
list-contact-groups: list-contact-groups.o
$(CC) -o $@ $@.o $(LDFLAGS)
list-contact-organisations: list-contact-organisations.o
$(CC) -o $@ $@.o $(LDFLAGS)
list-contacts: list-contacts.o
$(CC) -o $@ $@.o $(LDFLAGS)
list-group-contacts: list-group-contacts.o
$(CC) -o $@ $@.o $(LDFLAGS)
list-organisation-contacts: list-organisation-contacts.o
$(CC) -o $@ $@.o $(LDFLAGS)
print-contact: print-contact.o
$(CC) -o $@ $@.o $(LDFLAGS)
remove-contact: remove-contact.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-addresses: set-contact-addresses.o common-address.o
$(CC) -o $@ $@.o common-address.o $(LDFLAGS)
set-contact-birthday: set-contact-birthday.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-blocks: set-contact-blocks.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-chats: set-contact-chats.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-emails: set-contact-emails.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-gender: set-contact-gender.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-groups: set-contact-groups.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-ice: set-contact-ice.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-name: set-contact-name.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-notes: set-contact-notes.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-numbers: set-contact-numbers.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-organisations: set-contact-organisations.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-pgpkeys: set-contact-pgpkeys.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-photos: set-contact-photos.o
$(CC) -o $@ $@.o $(LDFLAGS)
set-contact-sites: set-contact-sites.o
$(CC) -o $@ $@.o $(LDFLAGS)
unblock-contact: unblock-contact.o
$(CC) -o $@ $@.o $(LDFLAGS)
uninstall:
-cd -- "$(DESTDIR)$(PREFIX)/bin" && rm -f -- $(BIN)
-rm -f -- "$(DESTDIR)$(PREFIX)/lib/contacts"
clean:
-rm -f -- *.o *.a *.lo *.so *.bo *.su $(BIN) contacts contacts.c
.SUFFIXES:
.SUFFIXES: .c .o .bo
.PHONY: all install uninstall clean
|