# Comment/uncomment the following line to disable/enable debugging
#DEBFLAGS = -g # "-O" is needed to expand inlines
EXTRA_CFLAGS += $(DEBFLAGS)

# assign extra include path
INCLUDEPATH	?= -I$(PWD)/../include
EXTRA_CFLAGS += $(INCLUDEPATH)

# Use MDC/MDIO to access external switch register.
EXTRA_CFLAGS	+= -DACCESS_REG_BY_MDIO

DRIVER_NAME = ip1811drv

WORK_FN_FILE_SIZE	=$(shell (ls -l $(1) | awk '{print $$5}'))
PWD	:= $(shell pwd)
EXE	= $(DRIVER_NAME).ko

KERNELDIR		?= /home/zdb/rk3568/rk356_linux4.19/kernel
#KERNELDIR		?= ../../build/linux

#CROSS_COMPILE :=mips-linux-
CROSS_COMPILE := aarch64-linux-gnu-


obj-m := $(DRIVER_NAME).o
$(DRIVER_NAME)-objs := ip1811.o ip1811fdat.o ip1811func.o

.PHONY: all
all:
	@echo "EXTRA_CFLGAS=[$(EXTRA_CFLAGS)]"
	@echo "  Making $@ ..."
	$(MAKE) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNELDIR) M=$(PWD) modules
	@make show_size
	cp *.h $(INC)


.PHONY: show_size
show_size:
	@echo "Info: generate AP $@ with size = $(call WORK_FN_FILE_SIZE,$(EXE))"

.PHONY: clean
clean:
	rm -rf *.o .*.d *~ core .depend .*.cmd *.ko* *.mod.c .tmp_versions modules.order Module.symvers

depend .depend dep:
	$(CC) $(CFLAGS) -M *.c > .depend

ifeq (.depend,$(wildcard .depend))
	include .depend
endif
