OBJECTS = main.o pwr_acce.o 
CFLAGS = -Wall -lpthread -lcurses
LFLAGS = -L./
EXE_NAME = pwr_utility
LIB_NAME = PwrAcce
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: pwr_acce.o
	ar crv $(STATIC_LIB_NAME) $^

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

pwr_acce.o:

.PHONY: clean

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