Makefile 1.5 KB

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