# Created by jiaqiang.ye@lnxall.com
# Simple Makefile for ubus_log
# 2023/02/06

MAKEFLAGS      := -r -R
CC             ?= gcc
MYCFLAGS       := $(CFLAGS) -Wall -fPIC -D_GNU_SOURCE -O2 -ggdb
MYLDFLAGS      := $(LDFLAGS) -lubus -lubox -lpthread

SOURCES        := $(wildcard *.c)
TARGETS        := $(SOURCES:.c=.o) ubuslog-test libubuslog.so core.so ulog

.PHONY: all clean
all: $(TARGETS)

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

core.so: lua-ubuslog.o libubuslog.so
	$(CC) -shared -o $@ -Wl,-soname=$@ $< -L. -lubuslog $(MYLDFLAGS)

libubuslog.so: lnxall_ubuslog.o
	$(CC) -shared -o $@ $^ -Wl,-soname=$@ $(MYLDFLAGS)

ubuslog-test: ubuslog-test.o libubuslog.so
	$(CC) -o $@ $< $(MYLDFLAGS) -L. -lubuslog

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

%.o: %.c lnxall_ubuslog.h
	$(CC) $(MYCFLAGS) -c -o $@ $<
