कैसे OpenSSL में perl स्क्रिप्ट से असेंबली फ़ाइल उत्पन्न है



compilation undefined-reference (0)

OpenSSL के OpenSLL संस्करण (संस्करण 1.1.0e) में मैंने देखा कि कुछ फ़ंक्शन परिभाषा फ़ोल्डर्स के अंदर मौजूद पीआरएल फ़ाइलों द्वारा उत्पन्न होती है। क्रिप्टो के अंदर प्रत्येक फ़ोल्डर में मौजूद build.info फ़ाइल में, उन्होंने संबंधित लाइनों से .s उत्पन्न करने के लिए कुछ पंक्तियां लिखी हैं।

जैसे,:

crypto/aes/build.info :

GENERATE[aesp8-ppc.s]=asm/aesp8-ppc.pl $(PERLASM_SCHEME)

crypto/build.info OPENSSL_madd300_probe में OPENSSL_madd300_probe को बनाने के लिए:

GENERATE[ppccpuid.s]=ppccpuid.pl $(PERLASM_SCHEME)

और मुख्य मेकफ़ाइल (उत्पन्न मेकफाइल) में भी कुछ पंक्तियां नीचे दी गई हैं:

crypto/aes/aes-x86_64.o: crypto/aes/aes-x86_64.s
$(CC)  -I. -Icrypto/include -Iinclude $(CFLAGS) $(LIB_CFLAGS) -MMD -MF crypto/aes/aes-x86_64.d.tmp -MT [email protected] -c -o [email protected] crypto/aes/aes-x86_64.s
@touch crypto/aes/aes-x86_64.d.tmp
@if cmp crypto/aes/aes-x86_64.d.tmp crypto/aes/aes-x86_64.d > /dev/null 2> /dev/null; then \
    rm -f crypto/aes/aes-x86_64.d.tmp; \
else \
    mv crypto/aes/aes-x86_64.d.tmp crypto/aes/aes-x86_64.d; \
fi

इसके साथ अनुसरण किया गया:

crypto/aes/aes-x86_64.s: crypto/aes/asm/aes-x86_64.pl
CC="$(CC)" $(PERL) crypto/aes/asm/aes-x86_64.pl $(PERLASM_SCHEME) [email protected]

क्या कोई यह बता सकता है कि .s फाइलें कैसे उत्पन्न होती है? मुझे उनकी परियोजना के अंदर अपने मेकफाइल में जोड़ने की जरूरत है, जिनकी परिभाषा .pl फाइल द्वारा उत्पन्न की गई कार्यों के लिए आने वाली undefined reference त्रुटि को हल करने के लिए है I





undefined-reference