Initial commit
[platform/upstream/ccid.git] / src / Makefile.am
1 CCID_BUNDLE = $(bundle)
2 CCID_LIB = libccid.$(DYN_LIB_EXT)
3 CCIDTWIN_LIB = libccidtwin.$(DYN_LIB_EXT)
4
5 CCID_VERSION=CCID_VERSION=`$(srcdir)/convert_version.pl $(PACKAGE_VERSION)`
6
7 lib_LTLIBRARIES =
8 LIBS_TO_INSTALL =
9 LIBS_TO_UNINSTALL =
10 if WITH_LIBUSB
11 lib_LTLIBRARIES += libccid.la
12 LIBS_TO_INSTALL += install_ccid
13 LIBS_TO_UNINSTALL += uninstall_ccid
14 noinst_PROGRAMS = parse
15 endif
16 if WITH_TWIN_SERIAL
17 lib_LTLIBRARIES += libccidtwin.la
18 LIBS_TO_INSTALL += install_ccidtwin
19 LIBS_TO_UNINSTALL += uninstall_ccidtwin
20 endif
21
22 COMMON = ccid.c \
23         ccid.h \
24         ccid_ifdhandler.h \
25         commands.c \
26         commands.h \
27         debug.h \
28         defs.h \
29         ifdhandler.c \
30         utils.c \
31         utils.h
32 USB = ccid_usb.c ccid_usb.h
33 SERIAL = ccid_serial.c ccid_serial.h
34 T1 = towitoko/atr.c \
35         towitoko/atr.h \
36         towitoko/defines.h \
37         towitoko/pps.c \
38         towitoko/pps.h \
39         openct/buffer.c \
40         openct/buffer.h \
41         openct/checksum.c \
42         openct/checksum.h \
43         openct/proto-t1.c \
44         openct/proto-t1.h
45 TOKEN_PARSER = tokenparser.l parser.h \
46         strlcpy.c \
47         misc.h \
48         strlcpycat.h \
49         simclist.c \
50         simclist.h
51
52 if WITHOUT_PCSC
53 PROVIDED_BY_PCSC = debug.c
54 endif
55
56 libccid_la_SOURCES = $(COMMON) $(USB) $(TOKEN_PARSER) $(PROVIDED_BY_PCSC) $(T1)
57 libccid_la_LIBADD = $(LEXLIB) $(LIBUSB_LIBS) $(PTHREAD_LIBS)
58 libccid_la_CFLAGS = $(PCSC_CFLAGS) $(LIBUSB_CFLAGS) $(PTHREAD_CFLAGS) \
59         $(SYMBOL_VISIBILITY) -D$(CCID_VERSION) -DSIMCLIST_NO_DUMPRESTORE
60 libccid_la_LDFLAGS = -avoid-version
61
62 libccidtwin_la_SOURCES = $(COMMON) $(SERIAL) $(TOKEN_PARSER) \
63         $(PROVIDED_BY_PCSC) $(T1)
64 libccidtwin_la_CFLAGS = $(PCSC_CFLAGS) $(PTHREAD_CFLAGS) $(SYMBOL_VISIBILITY) \
65         -DTWIN_SERIAL -D$(CCID_VERSION) -DSIMCLIST_NO_DUMPRESTORE
66 libccidtwin_la_LIBADD = $(PTHREAD_LIBS)
67 libccidtwin_la_LDFLAGS = -avoid-version
68
69 parse_SOURCES = parse.c debug.c ccid_usb.c $(TOKEN_PARSER)
70 parse_LDADD = $(LIBUSB_LIBS)
71 parse_CFLAGS = $(PCSC_CFLAGS) $(LIBUSB_CFLAGS) -DSIMCLIST_NO_DUMPRESTORE
72
73 EXTRA_DIST = Info.plist.src create_Info_plist.pl reader.conf.in \
74         towitoko/COPYING towitoko/README openct/LICENSE openct/README \
75         convert_version.pl 92_pcscd_ccid.rules
76
77 # We can't use install-exec-local since we want to overwrite the install
78 # rule. We do not want to _add_ files to install
79 install: $(LIBS_TO_INSTALL)
80
81 INSTALL_UDEV_RULE_FILE=@/bin/echo "***************" ; echo "copy the src/92_pcscd_ccid.rules file in udev directory (/etc/udev/rules.d/)" ; /bin/echo "***************"
82
83 Info.plist: Info.plist.src $(srcdir)/../readers/supported_readers.txt
84         $(srcdir)/create_Info_plist.pl $(srcdir)/../readers/supported_readers.txt $(srcdir)/Info.plist.src --target=$(CCID_LIB) --version=$(VERSION) $(NOCLASS) > Info.plist
85
86 DISTCLEANFILES = tokenparser.c Info.plist
87
88 install_ccid: libccid.la Info.plist
89         $(mkinstalldirs) "$(DESTDIR)$(usbdropdir)/$(CCID_BUNDLE)/Contents/$(BUNDLE_HOST)/"
90         cp Info.plist "$(DESTDIR)$(usbdropdir)/$(CCID_BUNDLE)/Contents/"
91         cp .libs/$(CCID_LIB) "$(DESTDIR)$(usbdropdir)/$(CCID_BUNDLE)/Contents/$(BUNDLE_HOST)/$(CCID_LIB)"
92         $(INSTALL_UDEV_RULE_FILE)
93
94 install_ccidtwin: libccidtwin.la
95         $(mkinstalldirs) "$(DESTDIR)$(ccidtwindir)"
96         cp .libs/$(CCIDTWIN_LIB) "$(DESTDIR)$(ccidtwindir)/$(CCIDTWIN_LIB)"
97         $(mkinstalldirs) "$(DESTDIR)/$(serialconfdir)" ; \
98                 perl -ne "s|TARGET|$(ccidtwindir)/$(CCIDTWIN_LIB)| ; print" $(srcdir)/reader.conf.in > "$(DESTDIR)/$(serialconfdir)/libccidtwin"
99
100 # do not uninstall the serial driver by default
101 # use explicitely 'make uninstall_ccidtwin'
102 uninstall: $(LIBS_TO_UNINSTALL)
103
104 uninstall_ccid:
105         rm -rf "$(DESTDIR)$(usbdropdir)/$(CCID_BUNDLE)"
106
107 uninstall_ccidtwin:
108         rm -f "$(DESTDIR)$(ccidtwindir)/$(CCIDTWIN_LIB)"
109         rm -f "$(DESTDIR)/$(serialconfdir)/libccidtwin"
110