1 # A simple Makefile, to build run: make all
4 AS
= powerpc64le-linux-gnu-as
7 CROSSOBJCOPY
= powerpc64le-linux-gnu-objcopy
8 CROSSLD
= powerpc64le-linux-gnu-ld
11 CFLAGS
= -g3
-O
-Wall
-Wextra
-I..
/..
/media
/pypowersim_wrapper
-I
/usr
/include/python3.7m
13 # assembler flags here
14 ASFLAGS
= -mlibresoc
-mregnames
-Isrc
17 LDFLAGS
= -Wall
-pthread
-lpython3.7m
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
30 $(BINDIR
)/%.elf
: $(SRCDIR
)/%.o
31 $(CROSSLD
) -EL
-o
$@
-T memmap
$^
33 $(BINDIR
)/%.bin
: $(BINDIR
)/%.elf
34 $(CROSSOBJCOPY
) -I elf64-little
-O binary
$< $@
36 .PHONY
: all clean remove
37 all: ${BINDIR} ${TARGET}
42 $(TARGET
): $(OBJECTS
) $(SVP64OBJECTS
) $(ELFFILES
) $(BINFILES
)
43 $(CC
) -o
$@
$(OBJECTS
) $(LDFLAGS
)
46 $ rm -f
$(OBJECTS
) $(SVP64OBJECTS
) $(BINFILES
) $(ELFFILES
)