# Makefile for PCA9685 LED Controller CC = gcc CFLAGS = -Wall -O2 -g LDFLAGS = -lm TARGETS = led_dual_color test_pca9685 PCA9685_SRC = pca9685.c PCA9685_HDR = pca9685.h .PHONY: all clean install all: $(TARGETS) led_dual_color: led_dual_color.c $(PCA9685_SRC) $(PCA9685_HDR) $(CC) $(CFLAGS) -o $@ led_dual_color.c $(PCA9685_SRC) $(LDFLAGS) test_pca9685: test_pca9685.c $(PCA9685_SRC) $(PCA9685_HDR) $(CC) $(CFLAGS) -o $@ test_pca9685.c $(PCA9685_SRC) $(LDFLAGS) clean: rm -f $(TARGETS) *.o install: led_dual_color cp led_dual_color /usr/local/bin/ chmod 755 /usr/local/bin/led_dual_color test: led_dual_color sudo ./led_dual_color /dev/i2c-0 0x40 help: @echo "Usage:" @echo " make - Build all programs" @echo " make led_dual_color - Build dual color LED controller" @echo " make test - Run with sudo" @echo " make clean - Remove built files" @echo "" @echo "Running:" @echo " sudo ./led_dual_color [i2c_device] [address]" @echo " Example: sudo ./led_dual_color /dev/i2c-0 0x40"