Tizen 2.1 base
[platform/upstream/gcd.git] / pthread_workqueue-0.8.2 / Makefile
1 #
2 # Copyright (c) 2010 Mark Heily <mark@heily.com>
3 #
4 # Permission to use, copy, modify, and distribute this software for any
5 # purpose with or without fee is hereby granted, provided that the above
6 # copyright notice and this permission notice appear in all copies.
7
8 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 #
16
17 # Flags to pass to dpkg-buildpackage
18 DPKGFLAGS=-uc -us
19
20 .PHONY :: install uninstall check dist dist-upload publish-www clean merge distclean fresh-build rpm edit cscope valgrind testing
21
22 include config.mk
23
24 all: $(PROGRAM).so
25
26 %.dll: $(OBJS)
27         $(LD) -o $@ $(LDFLAGS) $(OBJS) $(LDADD)
28
29 %.o: %.c $(DEPS)
30         $(CC) -c -o $@ -I./include -I./src $(CFLAGS) $<
31
32 $(PROGRAM).a: $(OBJS)
33         $(AR) rcs $(PROGRAM).a $(OBJS)
34
35 $(PROGRAM).so: $(OBJS)
36         $(LD) -shared $(LDFLAGS) $(OBJS) $(LDADD)
37         $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(PROGRAM).so
38         $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(PROGRAM).so.$(ABI_MAJOR)
39
40 install: $(PROGRAM).so
41         $(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR)
42         $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)
43         $(INSTALL) -m 644 $(HEADERS) $(DESTDIR)$(INCLUDEDIR)
44         $(INSTALL) -m 644 $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)
45         $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(PROGRAM).so.$(ABI_MAJOR)
46         $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(PROGRAM).so
47         $(INSTALL) -d -m 755 $(DESTDIR)$(MANDIR)/man3
48         $(INSTALL) -m 644 pthread_workqueue.3 $(DESTDIR)$(MANDIR)/man3/pthread_workqueue.3 
49
50 uninstall:
51         rm -f $(INCLUDEDIR)/pthread_workqueue.h
52         rm -f $(LIBDIR)/pthread_workqueue.so 
53         rm -f $(LIBDIR)/pthread_workqueue.so.*
54         rm -f $(LIBDIR)/pthread_workqueue.a
55         rm -f $(MANDIR)/man3/pthread_workqueue.3 
56
57 reinstall: uninstall install
58  
59 check: $(PROGRAM).so
60         cd testing && make check
61
62 edit:
63         $(EDITOR) `find ./src -name '*.c' -o -name '*.h'` Makefile
64
65 $(PROGRAM)-$(VERSION).tar.gz: 
66         mkdir $(PROGRAM)-$(VERSION)
67         cp Makefile ChangeLog configure config.inc $(MANS) $(PROGRAM)-$(VERSION)
68         cp -R src testing include $(PROGRAM)-$(VERSION)
69         find $(PROGRAM)-$(VERSION) -name '.svn' -exec rm -rf {} \; 2>/dev/null || true
70         tar zcf $(PROGRAM)-$(VERSION).tar.gz $(PROGRAM)-$(VERSION)
71         rm -rf $(PROGRAM)-$(VERSION)
72
73 testing:
74         cd testing && make
75
76 dist: clean $(PROGRAM)-$(VERSION).tar.gz
77
78 %.asc:
79         gpg --armor --detach-sign `echo '$@' | sed 's/.asc$$//'`
80
81 dist-upload: dist $(DISTFILE).asc
82         scp $(DISTFILE) $(DISTFILE).asc heily.com:/var/www/heily.com/dist/$(PROGRAM)
83
84 publish-www:
85         cp -R www/* ~/public_html/libkqueue/
86
87 clean:
88         rm -f tags $(DISTFILE) $(DISTFILE).asc *.a $(OBJS) *.pc *.so *.so.* test-$(PROGRAM)
89         cd testing && make clean
90         rm -rf pkg
91
92 distclean: clean
93         rm -f *.tar.gz config.mk config.h $(PROGRAM).pc $(PROGRAM).la rpm.spec
94         rm -rf $(PROGRAM)-$(VERSION) 2>/dev/null || true
95
96 rpm: clean $(DISTFILE)
97         rm -rf rpm *.rpm *.deb
98         mkdir -p rpm/BUILD rpm/RPMS rpm/SOURCES rpm/SPECS rpm/SRPMS
99         mkdir -p rpm/RPMS/i386 rpm/RPMS/x86_64
100         cp $(DISTFILE) rpm/SOURCES 
101         rpmbuild -bb rpm.spec
102         mv ./rpm/RPMS/* .
103         rm -rf rpm
104         rmdir i386 x86_64    # WORKAROUND: These aren't supposed to exist
105         fakeroot alien --scripts *.rpm
106
107 deb: clean $(DISTFILE)
108         mkdir pkg
109         cd pkg && tar zxf ../$(DISTFILE) && mv libpthread_workqueue-$(VERSION) libpthread-workqueue-$(VERSION)
110         cp $(DISTFILE) pkg/libpthread-workqueue_$(VERSION).orig.tar.gz
111         cp -R ports/debian pkg/libpthread-workqueue-$(VERSION) 
112         cd pkg && \
113         rm -rf `find libpthread-workqueue-$(VERSION)/debian -type d -name .svn` ; \
114         perl -pi -e 's/\@\@VERSION\@\@/$(VERSION)/' libpthread-workqueue-$(VERSION)/debian/changelog ; \
115         cd libpthread-workqueue-$(VERSION) && dpkg-buildpackage $(DPKGFLAGS)
116         lintian -i pkg/*.deb
117         @printf "\nThe following packages have been created:\n"
118         @find ./pkg -name '*.deb' | sed 's/^/    /'