Released as 20240722 ('Assange')
[parallel.git] / Makefile.am
blob5b4296d24198620ff581884ded898ab0e5cd108a
1 # SPDX-FileCopyrightText: 2002-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
3 # SPDX-License-Identifier: GPL-3.0-or-later
5 SUBDIRS = src
7 test:
8         cd testsuite; make 1
10 tortest:
11         torsocks ssh -t tortest 'export SSH_AUTH_SOCK=`cat ~/.ssh/SSH_AUTH_SOCK`;\
12                                  export SSH_AGENT_PID=`cat ~/.ssh/SSH_AGENT_PID`;\
13                                  cd privat/parallel/testsuite/ &&\
14                                    make short && make long && make mem'
15         make torresults
17 torresults:
18         torsocks rsync -Hazv --progress tortest:privat/parallel/testsuite/actual-results/ testsuite/actual-results/
21 torsync:
22         torsocks rsync -Hazv --exclude='*.{pdf,gz,bz2,html,deb}' --exclude authorized_keys --exclude .vagrant/ --exclude actual-results --delete ./ tortest:privat/parallel/
23         make tortest
25 web:
26         cd src; make web
27         cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel
28         cp ../parallel-web/parallel/parallel.html  ../parallel-web/parallel/man.html
30 upload:
31         eval `gpg-agent --daemon`
32 # make sure $YYYYMMDD is set
33         echo $(YYYYMMDD) | grep 20
34         cp parallel-$(YYYYMMDD).tar.bz2 parallel-latest.tar.bz2
35         cp doc/parallel.directive parallel-$(YYYYMMDD).tar.bz2.directive
36         perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-*.tar.*directive
37         gpg --clearsign --yes parallel-$(YYYYMMDD).tar.bz2.directive
39         cp doc/parallel.latest.directive parallel-latest.tar.bz2.directive
40         perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
41         gpg --clearsign --yes parallel-latest.tar.bz2.directive
43         (echo '#!/bin/bash'; \
44          echo; \
45          echo "# To check the signature run:"; \
46          echo "#   echo | gpg"; \
47          echo "#   gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig"; \
48          echo; \
49          echo "echo | gpg 2>/dev/null"; \
50          echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
51          echo 'exit $$?' ; \
52          echo; \
53          gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
54         ) > parallel-$(YYYYMMDD).tar.bz2.sig
56         (echo '#!/bin/bash'; \
57          echo; \
58          echo "# To check the signature run:"; \
59          echo "#   echo | gpg"; \
60          echo "#   gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig"; \
61          echo; \
62          echo "echo | gpg 2>/dev/null"; \
63          echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
64          echo 'exit $$?' ; \
65          echo; \
66          gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
67         ) > parallel-latest.tar.bz2.sig
69         gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
70         gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
71         lftp --version
72         p=`echo parallel-latest.tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
73         p=`echo parallel-$(YYYYMMDD).tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
75 # This can take 7 minutes
76         pushd /tmp; \
77         rm -rf /tmp/parallel-$(YYYYMMDD)*; \
78         while ! wget https://ftp.gnu.org/gnu/parallel/parallel-$(YYYYMMDD).tar.bz2 ; do sleep 10; done; \
79         tar xjvf parallel-$(YYYYMMDD).tar.bz2; \
80         cd parallel-$(YYYYMMDD); \
81         ./configure; \
82         make -j && sudo make -j install; \
83         pushd; \
84         sudo cp /usr/local/bin/parallel /usr/local/bin/parallel-$(YYYYMMDD)
86 alphaupload:
87 # Copy of upload
88         eval `gpg-agent --daemon`
89 # make sure $YYYYMMDD is set
90         echo $(YYYYMMDD) | grep 20
91         cp parallel-$(YYYYMMDD).tar.bz2 parallel-latest.tar.bz2
92         cp doc/parallel.directive parallel-$(YYYYMMDD).tar.bz2.directive
93         perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-*.tar.*directive
94         gpg --clearsign --yes parallel-$(YYYYMMDD).tar.bz2.directive
96         cp doc/parallel.latest.directive parallel-latest.tar.bz2.directive
97         perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
98         gpg --clearsign --yes parallel-latest.tar.bz2.directive
100         (echo '#!/bin/bash'; \
101          echo; \
102          echo "# To check the signature run:"; \
103          echo "#  echo | gpg"; \
104          echo "#  gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig"; \
105          echo; \
106          echo "echo | gpg 2>/dev/null"; \
107          echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
108          echo 'exit $$?' ; \
109          echo; \
110          gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
111         ) > parallel-$(YYYYMMDD).tar.bz2.sig
113         (echo '#!/bin/bash'; \
114          echo; \
115          echo "# To check the signature run:"; \
116          echo "#  echo | gpg"; \
117          echo "#  gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig"; \
118          echo; \
119          echo "echo | gpg 2>/dev/null"; \
120          echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $$0'; \
121          echo 'exit $$?' ; \
122          echo; \
123          gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
124         ) > parallel-latest.tar.bz2.sig
126         gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
127         gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
129         ../ftpsync/src/ftpsync parallel-$(YYYYMMDD).tar.bz2{,.sig,*asc} ftp://ftp-upload.gnu.org/incoming/alpha/
131 # This can take 7 minutes
132         pushd /tmp; \
133         rm -rf /tmp/parallel-$(YYYYMMDD)*; \
134         while ! wget http://alpha.gnu.org/gnu/parallel/parallel-$(YYYYMMDD).tar.bz2 ; do sleep 2; done; \
135         tar xjvf parallel-$(YYYYMMDD).tar.bz2; \
136         cd parallel-$(YYYYMMDD); \
137         ./configure; \
138         make -j && sudo make -j install; \
139         pushd; \
140         sudo cp /usr/local/bin/parallel /usr/local/bin/parallel-$(YYYYMMDD)
142 monitorman:
143 # If man page changed: open new pdfman
144         inotifywait -qmre MOVED_TO -e CLOSE_WRITE --format %w%f . | parallel -uj1 'echo {=/\.pod$$/ or skip()=};make -j && sudo make install; pdfman {/.} &'
146 reuse:
147         rm -rf /tmp/reuse
148         mkdir /tmp/reuse
149         git commit -a -m dummy
150         (wd=`pwd`; \
151         cd /tmp/reuse; \
152         git clone "$$wd"; \
153         cd parallel; \
154         reuse lint || \
155         (echo Use; \
156         echo '  reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" source-files'; \
157         echo or; \
158         echo '  reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" --explicit-license bin-files' \
159         ) )
160         git reset HEAD~ >/dev/null
161         git commit -c ORIG_HEAD >/dev/null
163 testurls:
164         mkdir -p urls
165         cd urls && ../src/testurls
167 reconf:
168         rm -fr autom4te.cache aclocal.m4 config.h config.h.in config.log Makefile.in missing install-sh
169         rm -rf src/Makefile.in
170         autoreconf --install -W gnu
171         ./configure
172         make -j
173         sudo make install
175 pack_unpack_and_test_build:
176         echo '### Building tar.bz2'
177         ./configure
178         make dist
179         make dist-bzip2
180         echo "### Unpack parallel-$(YYYYMMDD).tar.bz2"
181         cp parallel-$(YYYYMMDD).tar.bz2 /tmp
182         cd /tmp && \
183         tar xjf parallel-$(YYYYMMDD).tar.bz2 && \
184         cd parallel-$(YYYYMMDD) && \
185         ./configure && make -j && sudo make -j install
187 # This ought to be correct, but fails on Centos
188 # bashcompletiondir=$(DESTDIR)${datarootdir}/bash-completion/completions
189 # zshcompletiondir=$(DESTDIR)${datarootdir}/zsh/site-functions
190 bashcompletiondir=$(DESTDIR)${prefix}/share/bash-completion/completions
191 zshcompletiondir=$(DESTDIR)${prefix}/share/zsh/site-functions
192 bashcompletion=${bashcompletiondir}/parallel
193 zshcompletion=${zshcompletiondir}/_parallel
194 install-data-hook:
195         mkdir -p ${zshcompletiondir} ${bashcompletiondir}
196         $(DESTDIR)$(bindir)/parallel --shell-completion bash > ${bashcompletion}
197 # Make zsh eval the --shell-completion code dynamically so if
198 # a newer version of GNU Parallel is installed by a normal
199 # user, this newer version will generate the
200 # --shell-completion code.
201         echo '#compdef parallel' > ${zshcompletion}
202         echo '(( $$+functions[_comp_parallel] )) ||' >> ${zshcompletion}
203         echo '  eval "$$(parallel --shell-completion auto)" &&' >> ${zshcompletion}
204         echo '  _comp_parallel' >> ${zshcompletion}
206 uninstall-hook:
207         rm -rf ${zshcompletiondir} ${bashcompletiondir}
209 EXTRA_DIST = CITATION CITATION.cff CREDITS LICENSES/CC-BY-SA-4.0.txt LICENSES/GFDL-1.3-or-later.txt LICENSES/GPL-3.0-or-later.txt