OBJECTS = main.o sio_acce.o
CFLAGS = -Wall -lcurses -lpthread
LFLAGS = -L./
EXE_NAME = sio_utility
LIB_NAME = SioAcce
STATIC_LIB_NAME = lib$(LIB_NAME).a
SHARED_LIB_NAME = lib$(LIB_NAME).so

all: $(OBJECTS) static-lib shared-lib
	gcc $(LFLAGS) $(CFLAGS) -o $(EXE_NAME) $(OBJECTS)

exe: $(OBJECTS)
	gcc $(LFLAGS) $(CFLAGS) -o $(EXE_NAME) $^

main.o:
	gcc -c -Wall -D_REENTRANT main.c

static-lib: sio_acce.o
	ar crv $(STATIC_LIB_NAME) $^

shared-lib: sio_acce.o
	ld -share -soname $(SHARED_LIB_NAME) -o $(SHARED_LIB_NAME) $^


sio_acce.o:

.PHONY: clean

clean:
	rm $(OBJECTS) $(EXE_NAME) $(STATIC_LIB_NAME) $(SHARED_LIB_NAME)
