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