Configurations/10-main.conf: move hpux-shared flags to hpux-common.
[openssl.git] / Configurations / windows-makefile.tmpl
index 5d767f72aa06496fa4e17d8d096ef7cd00f12d08..11acdf00f6abf8ac910e76edebee9e569d17a86b 100644 (file)
@@ -88,12 +88,9 @@ DEPS={- join(" ", map { (my $x = $_) =~ s|\.o$|$depext|; $x; }
                   keys %{$unified_info{sources}}); -}
 {- output_on() if $disabled{makedepend}; "" -}
 GENERATED_MANDATORY={- join(" ", @{$unified_info{depends}->{""}} ) -}
-GENERATED={- join(" ",
-                  ( map { (my $x = $_) =~ s|\.[sS]$|\.asm|; $x }
-                    grep { defined $unified_info{generate}->{$_} }
-                    map { @{$unified_info{sources}->{$_}} }
-                    grep { /\.o$/ } keys %{$unified_info{sources}} ),
-                  ( grep { /\.(?:h|def)$/ } keys %{$unified_info{generate}} )) -}
+GENERATED={- # common0.tmpl provides @generated
+             join(" ", map { (my $x = $_) =~ s|\.[sS]$|.asm|; $x }
+                       @generated) -}
 
 INSTALL_LIBS={- join(" ", map { lib($_) } @{$unified_info{install}->{libraries}}) -}
 INSTALL_SHLIBS={- join(" ", map { shlib($_) } @{$unified_info{install}->{libraries}}) -}
@@ -322,6 +319,11 @@ build_apps build_tests: build_programs
 # Convenience target to prebuild all generated files, not just the mandatory
 # ones
 build_all_generated: $(GENERATED_MANDATORY) $(GENERATED)
+       @rem {- output_off() if $disabled{makedepend}; "" -}
+       @echo "Warning: consider configuring with no-makedepend, because if"
+       @echo "         target system doesn't have $(PERL),"
+       @echo "         then make will fail..."
+       @rem {- output_on() if $disabled{makedepend}; "" -}
 
 test: tests
 {- dependmagic('tests'); -}: build_programs_nodep build_engines_nodep
@@ -358,10 +360,13 @@ clean: libclean
        {- join("\n\t", map { "-del /Q /F $_" } @PROGRAMS) -}
        -del /Q /F $(ENGINES)
        -del /Q /F $(SCRIPTS)
+       -del /Q /F $(GENERATED_MANDATORY)
        -del /Q /F $(GENERATED)
-       -del /Q /S /F *.d *.obj *.pdb *.exp *.ilk *.manifest
-       -del /Q /S /F engines\*.lib
-       -del /Q /S /F apps\*.lib apps\*.rc apps\*.res
+       -del /Q /S /F *.d *.obj *.pdb *.ilk *.manifest
+       -del /Q /S /F engines\*.lib engines\*.exp
+       -del /Q /S /F apps\*.lib apps\*.rc apps\*.res apps\*.exp
+       -del /Q /S /F test\*.exp
+       -rmdir /Q /S test\test-runs
 
 distclean: clean
        -del /Q /F configdata.pm
@@ -407,7 +412,8 @@ install_dev:
        @"$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\ms\applink.c" \
                                       "$(INSTALLTOP)\include\openssl"
        @rem {- output_on() unless grep { $_ eq "OPENSSL_USE_APPLINK" } @{$config{defines}}; "" -}
-       @"$(PERL)" "$(SRCDIR)\util\copy.pl" "$(SRCDIR)\include\openssl\*.h" \
+       @"$(PERL)" "$(SRCDIR)\util\copy.pl" "-exclude_re=/__DECC_" \
+                                      "$(SRCDIR)\include\openssl\*.h" \
                                       "$(INSTALLTOP)\include\openssl"
        @"$(PERL)" "$(SRCDIR)\util\copy.pl" $(BLDDIR)\include\openssl\*.h \
                                       "$(INSTALLTOP)\include\openssl"
@@ -582,6 +588,11 @@ EOF
          return <<"EOF";
 $obj$objext: $deps
        \$(AS) $asflags \$(ASOUTFLAG)\$\@ $srcs
+EOF
+     } elsif ($srcs[0] =~ /.S$/) {
+         return <<"EOF";
+$obj$objext: $deps
+       \$(CC) /EP /D__ASSEMBLER__ $cflags $srcs > \$@.asm && \$(AS) $asflags \$(ASOUTFLAG)\$\@ \$@.asm
 EOF
      }
      return <<"EOF"    if (!$disabled{makedepend});
@@ -617,6 +628,7 @@ EOF
      return <<"EOF"
 $target: $deps
        IF EXIST $shlib$shlibext.manifest DEL /F /Q $shlib$shlibext.manifest
+       IF EXIST \$@ DEL /F /Q \$@
        \$(LD) \$(LDFLAGS) \$(LIB_LDFLAGS) \\
                /implib:\$@ \$(LDOUTFLAG)$shlib$shlibext$shared_def @<< || (DEL /Q \$(\@B).* $shlib.* && EXIT 1)
 $objs