include $(TOPDIR)/rules.mk

TARGET=uart_tool
LIBNAME=libuart.so

CFLAGS += -Werror

SOURCES=uart_tool.c
OBJECTS=uart.o

CCFLAGS_SO += -g -Wl,-z,now -Wl,-z,relro $(CFLAGS) -Os -fPIC
LDFLAGS_C = $(LDFLAGS) -shared
LIBS += -lpthread

all: $(TARGET)

$(TARGET):$(LIBNAME)
	$(CC) $(CFLAGS) -o $(TARGET) $(SOURCES) $(LDFLAGS) -L. $(LIBS) -luart

# target executable
$(LIBNAME):$(OBJECTS)
	$(CC) $(LDFLAGS_C) -o $(LIBNAME) $(OBJECTS) $(LIBPATH) $(LIBS)

# object files
%.o: %.c
	$(CC) $(CCFLAGS_SO) -c $< -o $@

clean:
	find . -name '*.o' -type f -print -exec rm -rf {} \;
	find . -name '*.a' -type f -print -exec rm -rf {} \;
	rm -f $(TARGET)
