intel-aes-0.1.2.1: cbits/Intel_AESNI_Sample_Library_v1.0/intel_aes_lib/Makefile
UNAME=$(shell uname -m)
# Must be 86 (for 32bit compiler) or 64 (for 64bit compiler)
ARCH=64
#ARCH=86
# Must be 32 or 64:
SZ=64
#SZ=32
STATIC=lib/x$(ARCH)/libintel_aes.a
DYNAMIC=lib/x$(ARCH)/libintel_aes.so
SRC= src/intel_aes.c \
asm/x$(ARCH)/iaesx$(ARCH).s \
asm/x$(ARCH)/do_rdtsc.s
OBJ= obj/x$(ARCH)/intel_aes.o \
obj/x$(ARCH)/iaesx$(ARCH).o \
obj/x$(ARCH)/do_rdtsc.o
# GCC=gcc -m32
GCC=gcc
YASM=yasm
YASMFLAGS= -D__linux__ -g dwarf2 -f elf$(SZ)
all: $(STATIC) $(DYNAMIC)
cp lib/x$(ARCH)/* ../../
$(STATIC): $(OBJ)
@mkdir -p lib/x$(ARCH)
ar -r $@ $(OBJ)
$(DYNAMIC): $(OBJ)
@mkdir -p lib/x$(ARCH)
$(GCC) -shared -dynamic -o $(DYNAMIC) $(OBJ)
obj/x$(ARCH)/do_rdtsc.o: asm/x$(ARCH)/do_rdtsc.s
@mkdir -p obj/x$(ARCH)
$(YASM) $(YASMFLAGS) $< -o $@
obj/x$(ARCH)/iaesx$(ARCH).o: asm/x$(ARCH)/iaesx$(ARCH).s
@mkdir -p obj/x$(ARCH)
$(YASM) $(YASMFLAGS) $< -o $@
obj/x$(ARCH)/intel_aes.o: src/intel_aes.c
@mkdir -p obj/x$(ARCH)
$(GCC) -fPIC -O3 -g -Iinclude/ -c $< -o $@
clean:
rm -f $(STATIC) $(DYNAMIC) $(OBJ)