~ubuntu-branches/ubuntu/vivid/libpthread-workqueue/vivid

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Mark Heily
  • Date: 2011-03-13 16:22:30 UTC
  • Revision ID: james.westby@ubuntu.com-20110313162230-yaiyoa7g3dk8xmww
Tags: upstream-0.4.1
ImportĀ upstreamĀ versionĀ 0.4.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
.PHONY :: install uninstall check dist dist-upload publish-www clean merge distclean fresh-build rpm edit cscope valgrind
 
18
 
 
19
include config.mk
 
20
 
 
21
all: $(PROGRAM).so
 
22
 
 
23
%.dll: $(OBJS)
 
24
        $(LD) -o $@ $(LDFLAGS) $(OBJS) $(LDADD)
 
25
 
 
26
%.o: %.c $(DEPS)
 
27
        $(CC) -c -o $@ $(CFLAGS) $<
 
28
 
 
29
$(PROGRAM).a: $(OBJS)
 
30
        $(AR) rcs $(PROGRAM).a $(OBJS)
 
31
 
 
32
$(PROGRAM).so: $(OBJS)
 
33
        $(LD) -shared $(LDFLAGS) $(OBJS) $(LDADD)
 
34
        $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(PROGRAM).so
 
35
        $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(PROGRAM).so.$(ABI_MAJOR)
 
36
 
 
37
install: $(PROGRAM).so
 
38
        $(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR)
 
39
        $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)
 
40
        $(INSTALL) -m 644 $(HEADERS) $(DESTDIR)$(INCLUDEDIR)
 
41
        $(INSTALL) -m 644 $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)
 
42
        $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(PROGRAM).so.$(ABI_MAJOR)
 
43
        $(LN) -sf $(PROGRAM).so.$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(PROGRAM).so
 
44
        $(INSTALL) -d -m 755 $(DESTDIR)$(MANDIR)/man3
 
45
        $(INSTALL) -m 644 pthread_workqueue.3 $(DESTDIR)$(MANDIR)/man3/pthread_workqueue.3 
 
46
 
 
47
uninstall:
 
48
        rm -f $(INCLUDEDIR)/pthread_workqueue.h
 
49
        rm -f $(LIBDIR)/pthread_workqueue.so 
 
50
        rm -f $(LIBDIR)/pthread_workqueue.so.*
 
51
        rm -f $(LIBDIR)/pthread_workqueue.a
 
52
        rm -f $(MANDIR)/man3/pthread_workqueue.3 
 
53
 
 
54
reinstall: uninstall install
 
55
 
 
56
check: $(PROGRAM).so
 
57
        cd testing && make check
 
58
 
 
59
edit:
 
60
        $(EDITOR) `find ./ -name '*.c' -o -name '*.h'` Makefile
 
61
 
 
62
$(PROGRAM)-$(VERSION).tar.gz: 
 
63
        mkdir $(PROGRAM)-$(VERSION)
 
64
        cp Makefile ChangeLog configure config.inc $(MANS) $(PROGRAM)-$(VERSION)
 
65
        cp -R src testing include $(PROGRAM)-$(VERSION)
 
66
        find $(PROGRAM)-$(VERSION) -name '.svn' -exec rm -rf {} \; 2>/dev/null || true
 
67
        tar zcf $(PROGRAM)-$(VERSION).tar.gz $(PROGRAM)-$(VERSION)
 
68
        rm -rf $(PROGRAM)-$(VERSION)
 
69
 
 
70
dist: clean $(PROGRAM)-$(VERSION).tar.gz
 
71
 
 
72
dist-upload: dist
 
73
        scp $(PROGRAM)-$(VERSION).tar.gz heily.com:~/public_html/proj/$(PROGRAM)/dist
 
74
 
 
75
publish-www:
 
76
        cp -R www/* ~/public_html/libkqueue/
 
77
 
 
78
clean:
 
79
        rm -f tags $(PROGRAM)-$(VERSION).tar.gz *.a $(OBJS) *.pc *.so *.so.* test-$(PROGRAM)
 
80
        cd testing && make clean
 
81
        rm -rf pkg
 
82
 
 
83
distclean: clean
 
84
        rm -f *.tar.gz config.mk config.h $(PROGRAM).pc $(PROGRAM).la rpm.spec
 
85
        rm -rf $(PROGRAM)-$(VERSION) 2>/dev/null || true
 
86
 
 
87
rpm: clean $(DISTFILE)
 
88
        rm -rf rpm *.rpm *.deb
 
89
        mkdir -p rpm/BUILD rpm/RPMS rpm/SOURCES rpm/SPECS rpm/SRPMS
 
90
        mkdir -p rpm/RPMS/i386 rpm/RPMS/x86_64
 
91
        cp $(DISTFILE) rpm/SOURCES 
 
92
        rpmbuild -bb rpm.spec
 
93
        mv ./rpm/RPMS/* .
 
94
        rm -rf rpm
 
95
        rmdir i386 x86_64    # WORKAROUND: These aren't supposed to exist
 
96
        fakeroot alien --scripts *.rpm
 
97
 
 
98
deb: clean $(DISTFILE)
 
99
        mkdir pkg
 
100
        cd pkg && tar zxf ../$(DISTFILE) 
 
101
        cp $(DISTFILE) pkg/$(PROGRAM)_$(VERSION).orig.tar.gz
 
102
        cp -R ports/debian pkg/$(PROGRAM)-$(VERSION) 
 
103
        cd pkg && \
 
104
        rm -rf `find $(PROGRAM)-$(VERSION)/debian -type d -name .svn` ; \
 
105
        perl -pi -e 's/\@\@VERSION\@\@/$(VERSION)/' $(PROGRAM)-$(VERSION)/debian/changelog ; \
 
106
        cd $(PROGRAM)-$(VERSION) && dpkg-buildpackage -uc -us
 
107
        lintian -i pkg/*.deb
 
108
        @printf "\nThe following packages have been created:\n"
 
109
        @find ./pkg -name '*.deb' | sed 's/^/    /'