/[pcsclite]/trunk/Drivers/ccid/src/Makefile
ViewVC logotype

Contents of /trunk/Drivers/ccid/src/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 300 - (show annotations) (download)
Wed Aug 20 08:35:34 2003 UTC (9 years, 9 months ago) by rousseau
File size: 2317 byte(s)
Add support of MacOS X
1 #
2 # $Id$
3 #
4
5 # name of bundle
6 BUNDLE=ifd-ccid.bundle
7
8 # by default install in /usr/local
9 ifeq ($(DESTDIR),)
10 DESTDIR=/usr/local
11 endif
12
13 # by default use /usr/local/pcsc/drivers/
14 ifeq ($(PCSCLITE_HP_DROPDIR),)
15 PCSCLITE_HP_DROPDIR=/usr/local/pcsc/drivers/
16 endif
17
18 # use a correct default CFLAGS
19 ifeq ($(CFLAGS),)
20 CFLAGS = -O2 -g -Wall
21 endif
22
23 CFLAGS += -fPIC -I. -I/usr/local/include -DPCSCLITE_HP_DROPDIR=\"$(PCSCLITE_HP_DROPDIR)$(BUNDLE)\"
24 LDFLAGS += -L/usr/local/lib -lusb
25
26 # needed to correctly generate the lexer on MacOS X
27 YLWRAP = ylwrap
28 CPPFLAGS = -fno-common
29
30 ifeq ($(OSTYPE),darwin)
31 TARGET_LIB = libccid.dylib
32 PARSE =
33 BUNDLE_HOST = MacOS
34 else
35 TARGET_LIB = libccid.so
36 PARSE = parse
37 BUNDLE_HOST = Linux
38 endif
39
40 # /home/rousseau/sc/pcsc/ccid-0.5.10 -> 0.5.10
41 version=$(shell expr `pwd` : '.*-\([0-9.]*\)')
42
43 objects = capabilities.o commands.o debug.o ifdhandler.o ccid_usb.o utils.o
44 parse_objects = parse.o
45 sources = $(objects:%.o=%.c) $(parse_objects:%.o=%.c)
46
47 all: check expert
48
49 check: check_stamp
50 check_stamp:
51 ./check
52 touch check_stamp
53
54 expert: $(PARSE) $(TARGET_LIB)
55
56 parse: $(objects) tokenparser.o parse.o
57 $(CC) $(LDFLAGS) -o $@ $^
58
59 libccid.so: $(objects)
60 $(CC) -shared $(LDFLAGS) -o $@ $(objects)
61 #strip $@
62
63 libccid.dylib: $(objects) tokenparser.o
64 $(CC) -dynamiclib -flat_namespace -undefined suppress $(LDFLAGS) -o $@ $(objects) tokenparser.o
65
66 tokenparser.c: tokenparser.l
67 $(SHELL) $(YLWRAP) $< lex.ccid.c $@ -- "$(LEX)" -Pccid
68
69 clean:
70 rm -f $(objects)
71 rm -f libccid.so
72 rm -rf $(BUNDLE)
73 rm -f ifd-ccid
74 rm -f tokenparser.o tokenparser.c parse.o parse
75 rm -f Makefile.bak
76 rm -f config.log
77
78 distclean: clean
79 rm -f .dependencies
80 touch .dependencies
81 rm -f tags
82 rm -f tokenparser.c
83 rm -f check_stamp dep_stamp
84
85 install: all
86 mkdir -p $(BUNDLE)/Contents/$(BUNDLE_HOST)/
87 cp libccid.so $(BUNDLE)/Contents/$(BUNDLE_HOST)/$(TARGET_LIB).$(version)
88 sed s/VERSION/$(version)/ Info.plist | sed s/TARGET/$(TARGET_LIB)/ > $(BUNDLE)/Contents/Info.plist
89 mkdir -p $(DESTDIR)/pcsc/drivers/
90 cp -r $(BUNDLE) $(DESTDIR)/pcsc/drivers/
91
92 dep: dep_stamp
93 dep_stamp:
94 @echo "Making dependencies..."
95 makedepend -f - -I. -DPCSCLITE_MAX_CHANNELS=16 $(sources) > .dependencies || true
96 touch dep_stamp
97
98 .dependencies: dep
99
100 ctags:
101 ctags-exuberant *.h *.c
102
103 .PHONY: common clean distclean dep ctags
104
105 include .dependencies
106

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.5