# Created by jiaqiang@lnxall.com
# Simple Makefile for LNXALL HAL Library
# 2024/11/13

MAKEFLAGS += -r -R
MYLDFLAGS := $(LDFLAGS) -Wl,-rpath-link=${LNXDESTPFX}/lib
MYCFLAGS  := -I. $(CFLAGS) -Wall -fPIC -D_GNU_SOURCE -O2

SOURCES   := $(wildcard *.c)
OBJECTS   := $(SOURCES:.c=.o)
TARGETS   := liblnxhal.so $(OBJECTS) test_lnxhal_powerdetect

.PHONY: all clean
all: $(TARGETS)

test_lnxhal_powerdetect: test_lnxhal_powerdetect.o liblnxhal.so
	$(CC) -o $@ $< -L. -llnxhal $(MYLDFLAGS)
liblnxhal.so: lnxall_hal.o lnxhal_gpio.o
	$(CC) -shared -o $@ $^ $(MYLDFLAGS)

%.o: %.c
	$(CC) -shared -c $(MYCFLAGS) -o $@ $^

clean:
	rm -rf *.o $(TARGETS)
