shithub: tlsclient

ref: bfe9da47cfa2f51ebef78c59332b5ba2deba306d
dir: /third_party/boringssl/Makefile/

View raw version
.PHONY: all clean

include eureka.mk

CFLAGS += -Isrc/include

CRYPTO_objs= $(crypto_sources:.c=.o)
SSL_objs= $(ssl_sources:.cc=.o)

MACH := $(shell $(CC) -dumpmachine 2>/dev/null)

USE_ASM := false

ifneq (,$(findstring linux,$(MACH)))
	ifneq (,$(findstring x86_64,$(MACH)))
		CRYPTO_objs += $(linux_x86_64_sources:.S=.o)
		USE_ASM := true
	endif
	ifneq (,$(findstring i686,$(MACH)))
		CRYPTO_objs += $(linux_x86_sources:.S=.o)
		USE_ASM := true
	endif
	ifneq (,$(findstring aarch64,$(MACH)))
		CRYPTO_objs += $(linux_aarch64_sources:.S=.o)
		USE_ASM := true
	endif
	ifneq (,$(findstring ppc64le,$(MACH)))
		CRYPTO_objs += $(linux_ppc64le_sources:.S=.o)
		USE_ASM := true
	endif
endif

ifeq (,$(findstring true,$(USE_ASM)))
	CFLAGS += -DOPENSSL_NO_ASM
endif

all: libssl.a libcrypto.a

libcrypto.a: $(CRYPTO_objs)
	ar cr libcrypto.a $(CRYPTO_objs)

libssl.a: $(SSL_objs)
	ar cr libssl.a $(SSL_objs)

.SUFFIXES: .c .o

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

%.o: %.cc
	$(CXX) $(CFLAGS) -c -o $@ $<

%.o: %.S
	$(CC) $(CFLAGS) -c -o $@ $<

clean:
	rm -f $(CRYPTO_objs)
	rm -f $(SSL_objs)
	rm -f libssl.a
	rm -f libcrypto.a