Sanity (make dist).
[platform/upstream/rpm.git] / Makefile.am
1 # Top level Makefile for rpm
2
3 AUTOMAKE_OPTIONS = 1.4 foreign
4
5 EXTRA_DIST = CHANGES CREDITS GROUPS README.amiga INSTALL \
6         RPM-GPG-KEY RPM-PGP-KEY \
7         autodeps/none autodeps/*.prov autodeps/*.req autogen.sh \
8         gendiff installplatform platform* \
9         po/*.in po/*.po po/rpm.pot \
10         python/*.am python/*.in python/*.c python/*.h python/testit \
11         rpm.magic rpmpopt* rpmqv.c rpm.spec
12
13 EXTRA_PROGRAMS = rpmconvert
14
15 # XXX TODO: python perl
16 SUBDIRS = intl po popt build lib misc tools scripts tests doc .
17
18 INCLUDES = -I$(top_srcdir)/build -I$(top_srcdir)/lib -I$(top_srcdir)/popt \
19         @INCPATH@
20
21 myLDFLAGS = -L$(top_builddir)/build -L$(top_builddir)/lib -L$(top_builddir)/popt
22
23 # XXX libtool can/should generate dependent libs.
24 # XXX solaris2.6 cannot use *.la with --all-static (downrev binutils/egcs?)
25 myLDADD = \
26         $(top_builddir)/build/.libs/librpmbuild.a \
27         $(top_builddir)/lib/.libs/librpm.a \
28         $(top_builddir)/popt/.libs/libpopt.a \
29         @INTLLIBS@ @LIBMISC@
30
31 newLDADD = -lrpmbuild -lrpm -lpopt @INTLLIBS@ @LIBMISC@
32
33 rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
34 rpmbin_PROGRAMS = rpm
35
36 bin_PROGRAMS =          rpm2cpio
37 bin_SCRIPTS =           gendiff
38
39 noinst_PROGRAMS =       @BUILD_RPMCONVERT@
40
41 pkglibdir =             @RPMCONFIGDIR@
42 pkglib_PROGRAMS =       rpmb rpmdb rpmi rpmk rpmq
43 pkglib_DATA =           rpmrc rpmpopt macros
44 pkglib_SCRIPTS =        find-provides find-requires mkinstalldirs \
45                         config.guess config.sub
46
47 noinst_HEADERS = \
48         acconfig.h      build.h         system.h
49
50 rpm_SOURCES =           build.c rpm.c
51 rpm_LDFLAGS =           @LDFLAGS_STATIC@ $(myLDFLAGS)
52 rpm_LDADD =             $(myLDADD)
53
54 rpmb_SOURCES =          build.c
55 rpmb_LDFLAGS =          $(myLDFLAGS)
56 rpmb_LDADD =            rpmb.o $(newLDADD)
57 rpmb.o: rpmqv.c
58         $(COMPILE) -DIAM_RPMBT -o $@ -c $<
59
60 rpmdb_SOURCES =
61 rpmdb_LDFLAGS =         $(myLDFLAGS)
62 rpmdb_LDADD =           rpmdb.o $(newLDADD)
63 rpmdb.o:        rpmqv.c
64         $(COMPILE) -DIAM_RPMDB -o $@ -c $<
65
66 rpmi_SOURCES =
67 rpmi_LDFLAGS =          $(myLDFLAGS)
68 rpmi_LDADD =            rpmi.o $(newLDADD)
69 rpmi.o: rpmqv.c
70         $(COMPILE) -DIAM_RPMEIU -o $@ -c $<
71
72 rpmk_SOURCES =
73 rpmk_LDFLAGS =          $(myLDFLAGS)
74 rpmk_LDADD =            rpmk.o $(newLDADD)
75 rpmk.o: rpmqv.c
76         $(COMPILE) -DIAM_RPMK -o $@ -c $<
77
78 rpmq_SOURCES =
79 rpmq_LDFLAGS =          $(myLDFLAGS)
80 rpmq_LDADD =            rpmq.o $(newLDADD)
81 rpmq.o: rpmqv.c
82         $(COMPILE) -DIAM_RPMQV -o $@ -c $<
83
84 rpm2cpio_SOURCES =      rpm2cpio.c
85 rpm2cpio_LDFLAGS =      @LDFLAGS_STATIC@ $(myLDFLAGS)
86 rpm2cpio_LDADD =        $(myLDADD)
87
88 rpmconvert_SOURCES =    convertdb.c oldrpmdb.c
89 ## Libmisc.a is required for rpmconvert.
90 rpmconvert_LDADD =      $(myLDADD) -lgdbm
91
92 $(PROGRAMS):            $(myLDADD)
93
94 .PHONY: lclint
95 lclint:
96         lclint $(DEFS) $(INCLUDES) $(rpm_SOURCES)
97
98 CVSTAG = r$(subst .,-,$(VERSION))
99
100 install-data-local:
101         @$(mkinstalldirs) $(DESTDIR)$(varprefix)/lib/rpm
102         @rm -f $(DESTDIR)/$(libdir)/rpmrc
103         @@LN_S@ rpm/rpmrc $(DESTDIR)/$(libdir)/rpmrc
104         @rm -f $(DESTDIR)/$(libdir)/rpmpopt
105         @@LN_S@ rpm/rpmpopt $(DESTDIR)/$(libdir)/rpmpopt
106         @rm -f $(DESTDIR)/$(libdir)/rpm/rpmt
107         @@LN_S@ rpmb $(DESTDIR)/$(libdir)/rpm/rpmt
108         @rm -f $(DESTDIR)/$(libdir)/rpm/rpme
109         @@LN_S@ rpmi $(DESTDIR)/$(libdir)/rpm/rpme
110         @rm -f $(DESTDIR)/$(libdir)/rpm/rpmu
111         @@LN_S@ rpmi $(DESTDIR)/$(libdir)/rpm/rpmu
112         @rm -f $(DESTDIR)/$(libdir)/rpm/rpmv
113         @@LN_S@ rpmq $(DESTDIR)/$(libdir)/rpm/rpmv
114         for bf in b db e i k q t u v ; do \
115             rm -f $(DESTDIR)/$(bindir)/rpm$$bf ; \
116             @LN_S@ ../lib/rpm/rpm$$bf $(DESTDIR)/$(bindir)/rpm$$bf ; \
117         done
118         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/BUILD
119         @case "@build_cpu@" in \
120         *86) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/i386 ;;\
121         alpha*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/alpha ;;\
122         sparc*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/sparc;\
123                 $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/sparc64 ;;\
124         powerpc*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/ppc ;;\
125         esac
126         @case "@build_os@" in \
127         mint) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/m68kmint ;;\
128         linux*) chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ; \
129            $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@ ;;\
130         *) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@ ;;\
131         esac
132         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/noarch
133         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SOURCES
134         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SPECS
135         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SRPMS
136         @$(mkinstalldirs) $(DESTDIR)/var/tmp
137
138 .PHONY: tar
139 tar:
140         rm -rf /tmp/rpm-$(VERSION)
141         $(MAKE) DESTDIR=/tmp/rpm-$(VERSION) install
142         cd /tmp/rpm-$(VERSION) ; tar cvf /tmp/rpm-$(VERSION).tar .
143
144 .PHONY: noconfig
145 noconfig:
146         find . -name "Makefile" -exec rm {} \; 
147         rm -f *gz *rpm config.*
148
149 .PHONY: archive
150 archive: 
151         @cvs -d `cat CVS/Root` diff 2>&1 > /dev/null || { \
152             echo " " ; \
153             echo "==> Please resolve differences between the repository and" ; \
154             echo "==> your rpm check out before tagging." ; \
155             echo " " ; \
156             cvs -n up ; \
157             echo " " ; \
158             exit 1 ; \
159         }
160         @cvs -d `cat CVS/Root` -Q tag -F $(CVSTAG) .
161         @make dist
162         @echo " "
163         @echo "The final archive is ./rpm-$(VERSION).tar.gz."
164
165 .PHONY: nextsrpm
166 nextsrpm: all archive
167         @sudo ./rpm -ta rpm-$(VERSION).tar.gz
168
169 .PHONY: doxygen
170 doxygen: Doxyfile
171         rm -rf doxygen
172         mkdir -p doxygen
173         doxygen