Add the generate mechanism from unixmake to unix-Makefile.tmpl
authorRichard Levitte <levitte@openssl.org>
Thu, 11 Feb 2016 19:00:57 +0000 (20:00 +0100)
committerRichard Levitte <levitte@openssl.org>
Thu, 11 Feb 2016 19:10:44 +0000 (20:10 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
Configurations/unix-Makefile.tmpl

index 75516cc91ed2d515f18c251504c2d86f827c4700..2b495e9a58e3e6a469912b487336dd7d11bc8286 100644 (file)
@@ -474,7 +474,9 @@ uninstall_html_docs:
 
 # Developer targets (note: these are only available on Unix) #########
 
-update: errors ordinals tags test_ordinals
+update: generate errors ordinals
+
+generate: generate_apps generate_crypto_bn generate_crypto_objects
 
 # Test coverage is a good idea for the future
 #coverage: $(PROGRAMS) $(TESTPROGRAMS)
@@ -487,6 +489,14 @@ update: errors ordinals tags test_ordinals
 lint:
        lint -DLINT $(INCLUDES) $(SRCS)
 
+generate_apps: $(SRCDIR)/apps/openssl-vms.cnf
+
+generate_crypto_bn: $(SRCDIR)/crypto/bn/bn_prime.h
+
+generate_crypto_objects: $(SRCDIR)/crypto/objects/obj_dat.h \
+                         $(SRCDIR)/include/openssl/obj_mac.h \
+                         $(SRCDIR)/crypto/objects/obj_xref.h
+
 errors:
        ( cd $(SRCDIR); $(PERL) util/ck_errf.pl -strict */*.c */*/*.c )
        ( cd $(SRCDIR); $(PERL) util/mkerr.pl -recurse -write )
@@ -569,6 +579,38 @@ copy-certs: FORCE
            cp -R "$(SRCDIR)/certs" "$(BLDDIR)/"; \
        fi
 
+$(SRCDIR)/apps/openssl-vms.cnf: $(SRCDIR)/apps/openssl.cnf
+       $(PERL) $(SRCDIR)/VMS/VMSify-conf.pl \
+                < $(SRCDIR)/apps/openssl.cnf > $(SRCDIR)/apps/openssl-vms.cnf
+
+$(SRCDIR)/crypto/bn/bn_prime.h: $(SRCDIR)/crypto/bn/bn_prime.pl
+       $(PERL) $(SRCDIR)/crypto/bn/bn_prime.pl > $(SRCDIR)/crypto/bn/bn_prime.h
+
+$(SRCDIR)/crypto/objects/obj_dat.h: $(SRCDIR)/crypto/objects/obj_dat.pl \
+                                    $(SRCDIR)/include/openssl/obj_mac.h
+       $(PERL) $(SRCDIR)/crypto/objects/obj_dat.pl \
+                $(SRCDIR)/include/openssl/obj_mac.h \
+                $(SRCDIR)/crypto/objects/obj_dat.h
+
+# objects.pl both reads and writes obj_mac.num
+$(SRCDIR)/include/openssl/obj_mac.h: $(SRCDIR)/crypto/objects/objects.pl \
+                                     $(SRCDIR)/crypto/objects/objects.txt \
+                                     $(SRCDIR)/crypto/objects/obj_mac.num
+       $(PERL) $(SRCDIR)/crypto/objects/objects.pl \
+                $(SRCDIR)/crypto/objects/objects.txt \
+                $(SRCDIR)/crypto/objects/obj_mac.num \
+                $(SRCDIR)/include/openssl/obj_mac.h
+       @sleep 1; touch $(SRCDIR)/include/openssl/obj_mac.h; sleep 1
+
+$(SRCDIR)/crypto/objects/obj_xref.h: $(SRCDIR)/crypto/objects/objxref.pl \
+                                     $(SRCDIR)/crypto/objects/obj_xref.txt \
+                                     $(SRCDIR)/crypto/objects/obj_mac.num
+       $(PERL) $(SRCDIR)/crypto/objects/objxref.pl \
+                $(SRCDIR)/crypto/objects/obj_mac.num \
+                $(SRCDIR)/crypto/objects/obj_xref.txt \
+                > $(SRCDIR)/crypto/objects/obj_xref.h
+       @sleep 1; touch $(SRCDIR)/crypto/objects/obj_xref.h; sleep 1
+
 FORCE :
 
 # Building targets ###################################################