1d20b5f
Do not create a fipscanister.o, add the objects directly.
1d20b5f
diff -up openssl-0.9.8j/fips/Makefile.nocanister openssl-0.9.8j/fips/Makefile
1d20b5f
--- openssl-0.9.8j/fips/Makefile.nocanister	2009-01-13 18:26:15.000000000 +0100
1d20b5f
+++ openssl-0.9.8j/fips/Makefile	2009-01-13 21:43:43.000000000 +0100
1d20b5f
@@ -142,8 +142,24 @@ lib:	$(LIB)
1d20b5f
 	if [ "$(FIPSCANISTERINTERNAL)" = "n" -a -n "$(FIPSCANLOC)" ]; then $(AR) ../$(FIPSCANLIB).a $(FIPSCANLOC); fi
1d20b5f
 	@touch lib
1d20b5f
 
1d20b5f
-$(LIB):	$(FIPSLIBDIR)fipscanister.o
1d20b5f
-	$(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
1d20b5f
+$(LIB):	$(LIBOBJ) $(FIPS_OBJ_LISTS)
1d20b5f
+	FIPS_ASM=""; \
1d20b5f
+	list="$(BN_ASM)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/bn/$$i" ; done; \
1d20b5f
+	list="$(AES_ASM_OBJ)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/aes/$$i" ; done; \
1d20b5f
+	list="$(DES_ENC)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/des/$$i" ; done; \
1d20b5f
+	list="$(SHA1_ASM_OBJ)"; for i in $$list; do FIPS_ASM="$$FIPS_ASM ../crypto/sha/$$i" ; done; \
1d20b5f
+	if [ -n "$(CPUID_OBJ)" ]; then \
1d20b5f
+		CPUID=../crypto/$(CPUID_OBJ) ; \
1d20b5f
+	else \
1d20b5f
+		CPUID="" ; \
1d20b5f
+	fi ; \
1d20b5f
+	objs="$(LIBOBJ) $(FIPS_EX_OBJ) $$CPUID $$FIPS_ASM"; \
1d20b5f
+	for i in $(FIPS_OBJ_LISTS); do \
1d20b5f
+		dir=`dirname $$i`; script="s|^|$$dir/|;s| | $$dir/|g"; \
1d20b5f
+		objs="$$objs `sed "$$script" $$i`"; \
1d20b5f
+	done; \
1d20b5f
+	objs="$$objs" ; \
1d20b5f
+	$(AR) $(LIB) $$objs 
1d20b5f
 	$(RANLIB) $(LIB) || echo Never mind.
1d20b5f
 
1d20b5f
 $(FIPSCANLIB):	$(FIPSCANLOC)