# SPDX-License-Identifier: GPL-2.0

YCCDIR ?= $(CURDIR)/../
OUTPUT ?= $(YCCDIR)/outputs
OBJ_TMP ?= $(YCCDIR)/obj_tmp

SRC := $(wildcard *.c)

AARCH64_MEMCPY_SVE := $(shell if ($(CC) $(CFLAGS) -march=armv8.2-a+sve -E -x c /dev/null -o /dev/null 2>&1) then echo "1"; fi)

CFLAGS += -Wall -I$(YCCDIR)/algs/ -I$(YCCDIR)/algs/lib -I$(YCCDIR)/drv/ -I$(YCCDIR)/udma/

ifeq ($(AARCH64_MEMCPY_SVE),1)
SRC += $(YCCDIR)/utils/memcpy_sve.c
OBJ := $(patsubst %c,%o, $(SRC))
%.o: %.c
	$(CC) -O2 -march=armv8.2-a+sve -rdynamic -fPIC -o $@ -c $< $(CFLAGS)
else
OBJ := $(patsubst %c,%o, $(SRC))
%.o: %.c
	$(CC) -O2 -rdynamic -fPIC -o $@ -c $< $(CFLAGS)
endif

all: $(OBJ)
	mkdir -p $(OUTPUT) $(OBJ_TMP)
	cp $(OBJ) $(OBJ_TMP)

clean:
	rm -rf *.o
