pifploadshift.mdwn, do one example english pseudocode operands
[openpower-isa.git] / crypto / chacha20 / Makefile
1 # A simple Makefile, to build run: make all
2 TARGET = test-chacha20
3
4 AS = powerpc64le-linux-gnu-as
5 CC = gcc
6 LD = ld
7 CROSSOBJCOPY = powerpc64le-linux-gnu-objcopy
8 CROSSLD = powerpc64le-linux-gnu-ld
9
10 #compiler flags here
11 CFLAGS = -g3 -O -Wall -Wextra -I../../media/pypowersim_wrapper -I/usr/include/python3.7m
12
13 # assembler flags here
14 ASFLAGS= -mlibresoc -mregnames -Isrc
15
16 #linker flags here
17 LDFLAGS = -Wall -pthread -lpython3.7m
18
19 SRCDIR = src
20 BINDIR = bin
21
22 CFILES := $(SRCDIR)/xchacha20.c $(SRCDIR)/test.c $(SRCDIR)/xchacha20_wrapper.c
23 ASFILES := $(SRCDIR)/xchacha_hchacha20_svp64.s $(SRCDIR)/xchacha_encrypt_bytes_svp64.s
24 INCLUDES := $(wildcard $(SRCDIR)/*.h))
25 SVP64OBJECTS := $(ASFILES:$(SRCDIR)/%.s=$(SRCDIR)/%.o)
26 OBJECTS := $(CFILES:$(SRCDIR)/%.c=$(SRCDIR)/%.o)
27 BINFILES := $(BINDIR)/xchacha_hchacha20_svp64.bin $(BINDIR)/xchacha_encrypt_bytes_svp64.bin
28 ELFFILES := $(BINDIR)/xchacha_hchacha20_svp64.elf $(BINDIR)/xchacha_encrypt_bytes_svp64.elf
29
30 $(BINDIR)/%.elf: $(SRCDIR)/%.o
31 $(CROSSLD) -EL -o $@ -T memmap $^
32
33 $(BINDIR)/%.bin: $(BINDIR)/%.elf
34 $(CROSSOBJCOPY) -I elf64-little -O binary $< $@
35
36 .PHONY: all clean remove
37 all: ${BINDIR} ${TARGET}
38
39 $(BINDIR):
40 mkdir -p ${BINDIR}
41
42 $(TARGET): $(OBJECTS) $(SVP64OBJECTS) $(ELFFILES) $(BINFILES)
43 $(CC) -o $@ $(OBJECTS) $(LDFLAGS)
44
45 clean:
46 $ rm -f $(OBJECTS) $(SVP64OBJECTS) $(BINFILES) $(ELFFILES)
47
48 remove: clean
49 $ rm -f $(TARGET)