X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Configurations%2Funix-Makefile.tmpl;h=126180ace7e63e412004b567268b97898633feed;hp=b1c087272d2df31ddac97aa4c4227a108c49c1ad;hb=a51f225d0d6a9ea5b25a07091a67bb3c737ffe31;hpb=742ccab318b13a8779d9f9164d479b4a428a6da8 diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index b1c087272d..126180ace7 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -138,6 +138,14 @@ INSTALL_ENGINES={- && $unified_info{attributes}->{modules}->{$_}->{engine} } @{$unified_info{modules}})) -} +INSTALL_MODULES={- + join(" \\\n" . ' ' x 16, + fill_lines(" ", $COLUMNS - 16, + map { platform->dso($_) } + grep { !$unified_info{attributes}->{modules}->{$_}->{noinst} + && !$unified_info{attributes}->{modules}->{$_}->{engine} } + @{$unified_info{modules}})) +-} INSTALL_PROGRAMS={- join(" \\\n" . ' ' x 16, fill_lines(" ", $COLUMNS - 16, map { platform->bin($_) } @@ -195,8 +203,8 @@ MANDOCS7={- fill_lines(" ", $COLUMNS - 9, map { platform->bin($_) } @{$unified_info{mandocs}->{man7}})) -} -APPS_OPENSSL={- use File::Spec::Functions; - catfile("apps","openssl") -} +APPS_OPENSSL="{- use File::Spec::Functions; + catfile("apps","openssl") -}" # DESTDIR is for package builders so that they can configure for, say, # /usr/ and yet have everything installed to /tmp/somedir/usr/. @@ -332,8 +340,15 @@ LIB_CPPFLAGS={- our $lib_cppflags = join(' ', $target{lib_cppflags} || (), $target{shared_cppflag} || (), (map { '-D'.$_ } + @{$target{lib_defines} || ()}, + @{$target{shared_defines} || ()}, @{$config{lib_defines} || ()}, @{$config{shared_defines} || ()}), + (map { '-I'.quotify1($_) } + @{$target{lib_includes}}, + @{$target{shared_includes}}, + @{$config{lib_includes}}, + @{$config{shared_includes}}), @{$config{lib_cppflags}}, @{$config{shared_cppflag}}); join(' ', $lib_cppflags, @@ -359,8 +374,15 @@ LIB_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS) DSO_CPPFLAGS={- join(' ', $target{dso_cppflags} || (), $target{module_cppflags} || (), (map { '-D'.$_ } + @{$target{dso_defines}}, + @{$target{module_defines}}, @{$config{dso_defines} || ()}, @{$config{module_defines} || ()}), + (map { '-I'.quotify1($_) } + @{$target{dso_includes}}, + @{$target{module_includes}}, + @{$config{dso_includes}}, + @{$config{module_includes}}), @{$config{dso_cppflags}}, @{$config{module_cppflags}}, '$(CNF_CPPFLAGS)', '$(CPPFLAGS)') -} @@ -450,16 +472,11 @@ all: build_sw build_docs test: tests {- dependmagic('tests'); -}: build_programs_nodep build_modules_nodep link-utils @ : {- output_off() if $disabled{tests}; "" -} - ( cd test; \ - mkdir -p test-runs; \ - SRCTOP=../$(SRCDIR) \ - BLDTOP=../$(BLDDIR) \ - RESULT_D=test-runs \ + ( SRCTOP=$(SRCDIR) \ + BLDTOP=$(BLDDIR) \ PERL="$(PERL)" \ EXE_EXT={- platform->binext() -} \ - OPENSSL_ENGINES=`cd ../$(BLDDIR)/engines 2>/dev/null && pwd` \ - OPENSSL_MODULES=`cd ../$(BLDDIR)/providers 2>/dev/null && pwd` \ - $(PERL) ../$(SRCDIR)/test/run_tests.pl $(TESTS) ) + $(PERL) $(SRCDIR)/test/run_tests.pl $(TESTS) ) @ : {- if ($disabled{tests}) { output_on(); } else { output_off(); } "" -} @echo "Tests are not supported with your chosen Configure options" @ : {- output_on() if !$disabled{tests}; "" -} @@ -502,7 +519,7 @@ clean: libclean -$(RM) `find . -name '*{- platform->depext() -}' \! -name '.*' \! -type d -print` -$(RM) `find . -name '*{- platform->objext() -}' \! -name '.*' \! -type d -print` $(RM) core - $(RM) tags TAGS doc-nits + $(RM) tags TAGS doc-nits cmd-nits md-nits $(RM) -r test/test-runs $(RM) openssl.pc libcrypto.pc libssl.pc -$(RM) `find . -type l \! -name '.*' -print` @@ -523,9 +540,9 @@ depend: # Install helper targets ############################################# -install_sw: install_dev install_engines install_runtime +install_sw: install_dev install_engines install_modules install_runtime -uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev +uninstall_sw: uninstall_runtime uninstall_modules uninstall_engines uninstall_dev install_docs: install_man_docs install_html_docs @@ -693,10 +710,12 @@ uninstall_dev: uninstall_runtime_libs -$(RMDIR) $(DESTDIR)$(libdir)/pkgconfig -$(RMDIR) $(DESTDIR)$(libdir) -install_engines: install_runtime_libs build_modules +_install_modules_deps: install_runtime_libs build_modules + +install_engines: _install_modules_deps @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ - @$(ECHO) "*** Installing ENGINE modules" + @$(ECHO) "*** Installing engines" @set -e; for e in dummy $(INSTALL_ENGINES); do \ if [ "$$e" = "dummy" ]; then continue; fi; \ fn=`basename $$e`; \ @@ -708,7 +727,7 @@ install_engines: install_runtime_libs build_modules done uninstall_engines: - @$(ECHO) "*** Uninstalling ENGINE modules" + @$(ECHO) "*** Uninstalling engines" @set -e; for e in dummy $(INSTALL_ENGINES); do \ if [ "$$e" = "dummy" ]; then continue; fi; \ fn=`basename $$e`; \ @@ -720,6 +739,33 @@ uninstall_engines: done -$(RMDIR) $(DESTDIR)$(ENGINESDIR) +install_modules: _install_modules_deps + @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(MODULESDIR)/ + @$(ECHO) "*** Installing modules" + @set -e; for e in dummy $(INSTALL_MODULES); do \ + if [ "$$e" = "dummy" ]; then continue; fi; \ + fn=`basename $$e`; \ + $(ECHO) "install $$e -> $(DESTDIR)$(MODULESDIR)/$$fn"; \ + cp $$e $(DESTDIR)$(MODULESDIR)/$$fn.new; \ + chmod 755 $(DESTDIR)$(MODULESDIR)/$$fn.new; \ + mv -f $(DESTDIR)$(MODULESDIR)/$$fn.new \ + $(DESTDIR)$(MODULESDIR)/$$fn; \ + done + +uninstall_modules: + @$(ECHO) "*** Uninstalling modules" + @set -e; for e in dummy $(INSTALL_MODULES); do \ + if [ "$$e" = "dummy" ]; then continue; fi; \ + fn=`basename $$e`; \ + if [ "$$fn" = '{- platform->dso("ossltest") -}' ]; then \ + continue; \ + fi; \ + $(ECHO) "$(RM) $(DESTDIR)$(MODULESDIR)/$$fn"; \ + $(RM) $(DESTDIR)$(MODULESDIR)/$$fn; \ + done + -$(RMDIR) $(DESTDIR)$(MODULESDIR) + install_runtime: install_programs install_runtime_libs: build_libs @@ -813,30 +859,30 @@ install_man_docs: build_man_docs @set -e; for x in dummy $(MANDOCS1); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man1/$$fn"; \ - cp $$x $(DESTDIR)$(MANDIR)/man1/$$fn$(MANSUFFIX); \ - chmod 755 $(DESTDIR)$(MANDIR)/man1/$$fn$(MANSUFFIX); \ + $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX)"; \ + cp $$x $(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX); \ + chmod 755 $(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX); \ done @set -e; for x in dummy $(MANDOCS3); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man3/$$fn"; \ - cp $$x $(DESTDIR)$(MANDIR)/man3/$$fn$(MANSUFFIX); \ - chmod 755 $(DESTDIR)$(MANDIR)/man3/$$fn$(MANSUFFIX); \ + $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX)"; \ + cp $$x $(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX); \ + chmod 755 $(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX); \ done @set -e; for x in dummy $(MANDOCS5); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man5/$$fn"; \ - cp $$x $(DESTDIR)$(MANDIR)/man5/$$fn$(MANSUFFIX); \ - chmod 755 $(DESTDIR)$(MANDIR)/man5/$$fn$(MANSUFFIX); \ + $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX)"; \ + cp $$x $(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX); \ + chmod 755 $(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX); \ done @set -e; for x in dummy $(MANDOCS7); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man7/$$fn"; \ - cp $$x $(DESTDIR)$(MANDIR)/man7/$$fn$(MANSUFFIX); \ - chmod 755 $(DESTDIR)$(MANDIR)/man7/$$fn$(MANSUFFIX); \ + $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX)"; \ + cp $$x $(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX); \ + chmod 755 $(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX); \ done uninstall_man_docs: @@ -844,26 +890,26 @@ uninstall_man_docs: @set -e; for x in dummy $(MANDOCS1); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man1/$$fn"; \ - $(RM) $(DESTDIR)$(MANDIR)/man1/$$fn$(MANSUFFIX); \ + $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX)"; \ + $(RM) $(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX); \ done @set -e; for x in dummy $(MANDOCS3); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man3/$$fn"; \ - $(RM) $(DESTDIR)$(MANDIR)/man3/$$fn$(MANSUFFIX); \ + $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX)"; \ + $(RM) $(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX); \ done @set -e; for x in dummy $(MANDOCS5); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man5/$$fn"; \ - $(RM) $(DESTDIR)$(MANDIR)/man5/$$fn$(MANSUFFIX); \ + $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX)"; \ + $(RM) $(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX); \ done @set -e; for x in dummy $(MANDOCS7); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ - $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man7/$$fn"; \ - $(RM) $(DESTDIR)$(MANDIR)/man7/$$fn$(MANSUFFIX); \ + $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX)"; \ + $(RM) $(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX); \ done install_html_docs: build_html_docs @@ -936,9 +982,21 @@ update: generate errors ordinals generate: generate_apps generate_crypto_bn generate_crypto_objects \ generate_crypto_conf generate_crypto_asn1 generate_fuzz_oids -.PHONY: doc-nits +.PHONY: doc-nits cmd-nits md-nits doc-nits: build_generated - (cd $(SRCDIR); $(PERL) util/find-doc-nits -n -e ) + $(PERL) $(SRCDIR)/util/find-doc-nits -n -l -e + +cmd-nits: build_generated apps/openssl + $(PERL) $(SRCDIR)/util/find-doc-nits -c + +# This uses "mdl", the markdownlint application, which is written in ruby. +# The source is at https://github.com/markdownlint/markdownlint +# If you have ruby installed, "gem install mdl" should work. +# Another option is at https://snapcraft.io/install/mdl/debian +# Finally, there's a Node.js version, which we haven't tried, that +# can be found at https://github.com/DavidAnson/markdownlint +md-nits: + mdl -s util/markdownlint.rb . # Test coverage is a good idea for the future #coverage: $(PROGRAMS) $(TESTPROGRAMS) @@ -950,12 +1008,6 @@ lint: generate_apps: ( cd $(SRCDIR); $(PERL) VMS/VMSify-conf.pl \ < apps/openssl.cnf > apps/openssl-vms.cnf ) - @ : {- output_off() if $disabled{apps}; "" -} - ( b=`pwd`; cd $(SRCDIR); \ - $(PERL) -I$$b apps/progs.pl -H $(APPS_OPENSSL) > apps/progs.h ) - ( b=`pwd`; cd $(SRCDIR); \ - $(PERL) -I$$b apps/progs.pl -C $(APPS_OPENSSL) > apps/progs.c ) - @ : {- output_on() if $disabled{apps}; "" -} generate_crypto_bn: ( cd $(SRCDIR); $(PERL) crypto/bn/bn_prime.pl > crypto/bn/bn_prime.h ) @@ -977,6 +1029,7 @@ generate_crypto_objects: crypto/objects/obj_mac.num \ crypto/objects/obj_xref.txt \ > crypto/objects/obj_xref.h ) + ( cd $(SRCDIR); cat crypto/objects/obj_compat.h >> include/openssl/obj_mac.h ) generate_crypto_conf: ( cd $(SRCDIR); $(PERL) crypto/conf/keysets.pl \ @@ -1019,6 +1072,7 @@ errors: qw( include/internal/dso.h include/internal/o_dir.h include/internal/err.h + include/internal/evp.h include/internal/sslconf.h ); our @cryptoskipheaders = ( @sslheaders, qw( include/openssl/conf_api.h @@ -1066,12 +1120,12 @@ tar: # Helper targets ##################################################### -link-utils: $(BLDDIR)/util/opensslwrap.sh +link-utils: $(BLDDIR)/util/opensslwrap.sh $(BLDDIR)/util/wrap.pl -$(BLDDIR)/util/opensslwrap.sh: configdata.pm +$(BLDDIR)/util/opensslwrap.sh $(BLDDIR)/util/wrap.pl: configdata.pm @if [ "$(SRCDIR)" != "$(BLDDIR)" ]; then \ mkdir -p "$(BLDDIR)/util"; \ - ln -sf "../$(SRCDIR)/util/opensslwrap.sh" "$(BLDDIR)/util"; \ + ln -sf "../$(SRCDIR)/util/`basename "$@"`" "$(BLDDIR)/util"; \ fi FORCE: @@ -1170,21 +1224,19 @@ reconfigure reconf: if ($args{src} =~ /\.html$/) { my $title = basename($args{src}, ".html"); + my $pod = $args{generator}->[0]; return <<"EOF"; -$args{src}: $args{generator}->[0] - pod2html "--podroot=\$(SRCDIR)/doc" --htmldir=.. \\ - --podpath=man1:man3:man5:man7 "--infile=\$<" "--title=$title" \\ - | \$(PERL) -pe 's|href="http://man\\.he\\.net/(man\\d/[^"]+)(?:\\.html)?"|href="../\$1.html|g;' \\ - > \$\@ +$args{src}: $pod + \$(PERL) \$(SRCDIR)/util/mkpod2html.pl -i "$pod" -o \$\@ -t "$title" -r "\$(SRCDIR)/doc" EOF } elsif ($args{src} =~ /\.(\d)$/) { my $section = $1; my $name = uc basename($args{src}, ".$section"); + my $pod = $args{generator}->[0]; return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: $pod pod2man --name=$name --section=$section --center=OpenSSL \\ - --release=\$(VERSION) \$< \\ - > \$\@ + --release=\$(VERSION) $pod >\$\@ EOF } elsif (platform->isdef($args{src})) { my $target = platform->def($args{src}); @@ -1225,7 +1277,7 @@ EOF if ($args{generator}->[0] =~ /\.pl$/) { $generator = 'CC="$(CC)" $(PERL)'.$generator_incs.' '.$generator - .' "$(PERLASM_SCHEME)"'.$incs.' '.$cppflags.$defs.' $(PROCESSSOR)'; + .' "$(PERLASM_SCHEME)"'.$incs.' '.$cppflags.$defs.' $(PROCESSOR)'; } elsif ($args{generator}->[0] =~ /\.m4$/) { $generator = 'm4 -B 8192'.$generator_incs.' '.$generator.' >' } elsif ($args{generator}->[0] =~ /\.S$/) {