# Created by jiaqiang@lnxall.com
# Simple Makefile for LNXALL binary logging module
# 2024/12/23

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

SOURCES   := $(wildcard *.c)
OBJECTS   := $(SOURCES:.c=.o)
TARGETS   := liblnxblog.so $(OBJECTS) transblog test_binlog

.PHONY: all clean
all: $(TARGETS)

transblog: transblog.o
	$(CC) -o $@ $< $(MYLDFLAGS)

test_binlog: test_binlog.o liblnxblog.so
	$(CC) -o $@ $< -L. -llnxblog $(MYLDFLAGS)

liblnxblog.so: lnxbinlog.o
	$(CC) -shared -o $@ $^ $(MYLDFLAGS)

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

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