* Add missing copyright header.
[dejagnu.git] / Makefile.am
blob5baca60c4c46a3012dfdd69a62539dc97e6ef9c8
1 ## Process this file with automake to generate Makefile.in
3 AUTOMAKE_OPTIONS = dejagnu
5 # Install all the associated data files
6 SUBDIRS = doc # testsuite example
8 # Install the bourne shell script driver in the bindir
9 bin_SCRIPTS = runtest
11 # Install the main DejaGnu expect file in the datadir
12 pkgdata_SCRIPTS = runtest.exp
14 # Install config.guess too, so we can use it to figure out what type
15 # of machine we're running on.
16 libexecdir = $(pkgdatadir)/libexec
17 libexec_SCRIPTS = config.guess
19 DATE = `date "+%Y%m%d`
21 TLCSH = @TCLSH@
22 PKGDIR = /opt
24 RUNTESTDEFAULTFLAGS = --srcdir $(srcdir)/testsuite RUNTEST=$(RUNTEST)
25 RUNTEST = ` \
26   if [ -f ${srcdir}/runtest$(EXEEXT) ] ; then \
27     echo ${srcdir}/runtest$(EXEEXT); \
28   else echo "ERROR: runtest not found" ; exit 1; fi`
30 CLEANFILES = x.log x.sum site.bak setval.tmp
31 check-DEJAGNU:
32         cd testsuite ; $(MAKE) check
33         cd example ; $(MAKE) check
35 # Since we don't use SUBDIRS, we have to manually clean the
36 # subdirectories. We don't use SUBDIRS, so the example or test cases
37 # don't get built by default for a "make all".
38 clean-local:
39         cd doc       ; $(MAKE) clean
40         cd testsuite ; $(MAKE) clean
41         cd example   ; $(MAKE) clean
43 # Set ourselves up to build an RPM
44 tarball: overview.html overview.ps overview.pdf
45         -rm -fr dejagnu-${VERSION}
46         cp -fpr $(srcdir) dejagnu-${VERSION}
47         @echo "clean up stuff we don't want in the source file"
48         src=$(srcdir); \
49         dir=`(cd $${src}; pwd)`; \
50         (cd dejagnu-${VERSION} ; $${dir}/Clean.tcl); \
51           mkdir -p doc/html; \
52           cp -fr doc/html dejagnu-${VERSION}/doc/; \
53           cp -fr doc/overview.ps dejagnu-${VERSION}/doc/; \
54           cp -fr doc/overview.pdf dejagnu-${VERSION}/doc/; \
55           cp -fr doc/overview.rtf dejagnu-${VERSION}/doc/; \
56           tar cvf ../dejagnu-${VERSION}.tar dejagnu-${VERSION}; \
57           gzip -9fv ../dejagnu-${VERSION}.tar; \
58           cp -f ../dejagnu-${VERSION}.tar.gz /usr/src/redhat/SOURCES/; \
59           cp -f $${dir}/packaging/rpm/dejagnu.spec /usr/src/redhat/SPECS/
61 # this builds a date stamped tarball of the current sources
62 snapshot:
63         -rm -fr dejagnu-${DATE}
64         cp -fpr $(srcdir) dejagnu-${DATE}
65         @echo "clean up stuff we don't want in the source file"
66         src=$(srcdir); \
67         dir=`(cd $${src}; pwd)`; \
68         (cd dejagnu-${DATE} ; $${dir}/Clean.tcl);
69         -mkdir -p doc/html
70         -cp -fr doc/html dejagnu-${DATE}/doc/
71         -cp -fr doc/overview.ps dejagnu-${DATE}/doc/
72         -cp -fr doc/overview.pdf dejagnu-${DATE}/doc/
73         -cp -fr doc/overview.rtf dejagnu-${DATE}/doc/
74         tar cf ../dejagnu-${DATE}.tar dejagnu-${DATE}
75         gzip -9fv ../dejagnu-${DATE}.tar
77 rpmspec: $(srcdir)/packaging/rpm/dejagnu.spec
78         cp -f $(srcdir)/packaging/rpm/dejagnu.spec /usr/src/redhat/SPECS/
80 # Build an RPM package
81 rpm: tarball rpmspec
82         cp -f ../$(distdir).tar.gz /usr/src/redhat/SOURCES/
83         rpm -ba /usr/src/redhat/SPECS/dejagnu.spec
85 # Build a Debian deb package
86 deb: overview.html overview.ps overview.pdf
87         -rm -fr dejagnu-${VERSION}
88         cp -fpr $(srcdir) dejagnu-${VERSION}
89         @echo "clean up stuff we don't want in the source file"
90         src=$(srcdir); \
91         dir=`(cd $${src}; pwd)`; \
92         (cd dejagnu-${VERSION} ; $${dir}/Clean.tcl);
93         -mkdir -p doc/html;
94         -cp -fr $(srcdir)/packaging/deb dejagnu-${VERSION}/
95         -cp -fr doc/html dejagnu-${VERSION}/doc/;
96         -cp -fr doc/overview.ps dejagnu-${VERSION}/doc/;
97         -cp -fr doc/overview.pdf dejagnu-${VERSION}/doc/;
98         -cp -fr doc/overview.rtf dejagnu-${VERSION}/doc/;
99         (cd dejagnu-${VERSION}; dpkg-buildpackage)
101 # Build a Solaris package
102 solpkg: $(srcdir)/packaging/pkg/prototype
103         if test ! -d $(PKGDIR)/dejagnu; then \
104           rm -fr dejagnu-${VERSION}; \
105           mkdir dejagnu-${VERSION}; \
106           cd dejagnu-${VERSION}; \
107           $(srcdir)/configure -v --prefix $(PKGDIR)/dejagnu; \
108           make install ; \
109         fi
110         cp $(srcdir)/packaging/pkg/prototype /tmp
111         cp $(srcdir)/packaging/pkg/pkginfo /tmp
112         here=`pwd`; \
113           cd /tmp; \
114           pkgmk -o -r / -d /tmp; \
115           tar cf $$here/dejagnu-${VERSION}.SPARC.2.8.pkg.tar DejaGnu; \
116           gzip -9fv  $$here/dejagnu-${VERSION}.SPARC.2.8.pkg.tar
117         rm -fr /tmp/prototype /tmp/pkginfo /tmp/DejaGnu
119 # Build a HP depot package
120 hpdepot: # $(srcdir)/packaging/depot/dejagnu.psf
121         if test ! -d $(PKGDIR)/dejagnu; then \
122         rm -fr dejagnu-${VERSION}; \
123         mkdir dejagnu-${VERSION}; \
124         cd dejagnu-${VERSION}; \
125         $(srcdir)/configure -v --prefix $(PKGDIR)/dejagnu; \
126         make install ; \
127         fi
128         swpackage -s $(srcdir)/packaging/depot/dejagnu.psf -x target_type=directory -d /tmp
129         here=`pwd`; \
130         cd /tmp; \
131         tar cf $$here/dejagnu-${VERSION}.hpux11.depot dejagnu; \
132         gzip -9fv  $$here/dejagnu-${VERSION}.hpux11.depot; \
133         rm -fr /tmp/dejagnu
135 overview.html overview.ps overview.pdf install-doc:
136         cd doc && $(MAKE) $(FLAGS_TO_PASS) $@
138 # Automake sucks when it comes to building a distribution, so
139 # we just copy the source tree onto of what Automake did, and
140 # then we Clean it. Automake only includes the source files.
141 # We want all the testsuites, data files, and html versions of the doc.
142 dist-hook: rpmspec overview.html overview.ps overview.pdf
143         -rm -fr $(distdir)
144         cp -fpr $(srcdir) $(distdir)
145         (cd $(distdir) ; $(TCLSH) $(srcdir)/Clean.tcl)
146         -cp -fr doc/html $(distdir)/doc/
147         -cp -fr doc/overview.ps $(distdir)/doc/
148         -cp -fr doc/overview.pdf $(distdir)/doc/
150 # Below, host-independent data files that need to get installed.
151 # We do it this way so we can use globbing.
153 lib_dest = $(DESTDIR)$(pkgdatadir)
154 lib_files = $(srcdir)/*.c $(srcdir)/lib/*.exp
156 baseboards_dest = $(DESTDIR)$(pkgdatadir)/baseboards
157 baseboards_files = $(srcdir)/baseboards/README $(srcdir)/baseboards/*.exp
159 include_dest = $(DESTDIR)$(includedir)
160 config_dest = $(DESTDIR)$(pkgdatadir)/config
161 config_files = $(srcdir)/config/README $(srcdir)/config/*.exp
163 install-data-local:
164         $(mkinstalldirs) $(lib_dest) $(include_dest)
165         for f in $(lib_files); do \
166           test ! -f "$$f" || $(INSTALL_DATA) $$f $(lib_dest); \
167         done
168         $(mkinstalldirs) $(baseboards_dest)
169         for f in $(baseboards_files); do \
170           test ! -f "$$f" || $(INSTALL_DATA) $$f $(baseboards_dest); \
171         done
172         $(INSTALL_DATA) $(srcdir)/dejagnu.h $(include_dest); \
173         $(mkinstalldirs) $(config_dest)
174         for f in $(config_files); do \
175           test ! -f "$$f" || $(INSTALL_DATA) $$f $(config_dest); \
176         done
178 uninstall-local:
179         for f in $(lib_files); do \
180           test ! -f "$$f" || rm -f $(lib_dest)/`basename "$$f"`; \
181         done
182         for f in $(config_files); do \
183           test ! -f "$$f" || rm -f $(config_dest)/`basename "$$f"`; \
184         done
185         for f in $(baseboards_files); do \
186           test ! -f "$$f" || rm -f $(baseboards_dest)/`basename "$$f"`; \
187         done
189         for f in $(baseboards_files); do \
190           test ! -f "$$f" || rm -f $(baseboards_dest)/`basename "$$f"`; \
191         done
192         rm -f $(include_dest)/dejagnu.h;
194 site.exp: Makefile
195         @echo 'Making a new site.exp file...'
196         @test ! -f site.bak || rm -f site.bak
197         @echo '## these variables are automatically generated by make ##' > $@-t
198         @echo '# Do not edit here.  If you wish to override these values' >> $-t
199         @echo '# edit the last section' >> $@-t
200         @echo 'set srcdir $(srcdir)' >> $@-t
201         @echo 'set objdir' `pwd` >> $@-t
202         @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
203         @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
204         @test ! -f site.exp || mv site.exp site.bak
205         @mv $@-t site.exp