Makefile 1.8 KB

12345678910111213141516171819202122232425262728293031323334
  1. MODULE_NAME := opal
  2. obj-m := opal.o
  3. opal-objs := main.o led.o light_ring.o ssegment.o ec_version.o buzzer.o fan.o writeprotect.o myname.o cash_drawers.o batteryled.o watchdog.o power.o switches.o backlight.o lcd_2x20.o smart_battery.o voltage_sysfs.o led_heartbeat.o sysfs_power.o vbat.o temperature_sysfs.o
  4. PROJECT_NAME ?= 0
  5. POS ?= 1
  6. KERNELDIR := ~/timesys/SDK64Bit-V6_02_00/kernel-source/linux-5.15/
  7. ccflags-y += -I./include -DPROJECT=$(PROJECT_NAME) -DPOS=$(POS)
  8. EXTRA_CFLAGS +=-g -I$(PWD)/include
  9. INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
  10. PWD = $(shell pwd)
  11. all:
  12. make CROSS_COMPILE=~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu- -C $(KERNELDIR) M=$(PWD) modules
  13. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/setss.c -DPROJECT=$(PROJECT_NAME) -o test_app/setss
  14. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/test_beep.c -DPROJECT=$(PROJECT_NAME) -o test_app/beep
  15. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/setled.c -DPROJECT=$(PROJECT_NAME) -o test_app/setled
  16. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/system_ctl_app.c -DPROJECT=$(PROJECT_NAME) -o test_app/system_ctl_app
  17. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/mywatchdog.c -DPROJECT=$(PROJECT_NAME) -o test_app/mywatchdog
  18. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/cash_app.c -DPROJECT=$(PROJECT_NAME) -o test_app/cash_app -lpthread
  19. clean:
  20. rm -rf *.o test_app/setss
  21. rm -rf *.ko *.order *.mod.c *.symvers \.*\.cmd
  22. module_install:
  23. @echo "Installing $(MODULE_NAME).ko to $(INSTALL_DIR)"
  24. @sudo mkdir -p $(INSTALL_DIR)
  25. @sudo cp $(MODULE_NAME).ko $(INSTALL_DIR)/
  26. @echo "Module installed successfully"