Makefile 1.6 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 com12v.o
  4. KERNELDIR := ~/timesys/SDK64Bit-V6_02_00/kernel-source/linux-5.15/
  5. ccflags-y += -I./include
  6. EXTRA_CFLAGS +=-g -I$(PWD)/include
  7. INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
  8. PWD = $(shell pwd)
  9. all:
  10. make CROSS_COMPILE=~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu- -C $(KERNELDIR) M=$(PWD) modules
  11. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/setss.c -o test_app/setss
  12. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/test_beep.c -o test_app/beep
  13. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/setled.c -o test_app/setled
  14. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/system_ctl_app.c -o test_app/system_ctl_app
  15. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/mywatchdog.c -o test_app/mywatchdog
  16. ~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/cash_app.c -o test_app/cash_app -lpthread
  17. cp opal.ko opal_CMD.ko
  18. clean:
  19. rm -rf *.o test_app/setss
  20. rm -rf *.ko *.order *.mod.c *.symvers \.*\.cmd
  21. module_install:
  22. @echo "Installing $(MODULE_NAME).ko to $(INSTALL_DIR)"
  23. @sudo mkdir -p $(INSTALL_DIR)
  24. @sudo cp $(MODULE_NAME).ko $(INSTALL_DIR)/
  25. @echo "Module installed successfully"