TOPDIR ?= ../../../..

-include $(TOPDIR)/common.mk

SYSDIAG_SRC_DIR = $(TOPDIR)/apps/sysdiag
SYSDIAG_TOOLS_SRC_DIR = $(SYSDIAG_SRC_DIR)/tools
SYSDIAG_MODULE_DIR ?= $(DATAROOTDIR)/$(proj_target)/sysdiag
CC ?= gcc
EXTRA_CFLAGS += $(CFLAGS) -Wall -Werror -Wextra -fPIC -fstack-protector -O2 -D_FORTIFY_SOURCE=2
EXTRA_LDFLAGS += $(LDFLAGS) -shared -Wl,-z,relro,-z,now
C_FILES = cpu-info.c
OBJ_FILES = $(C_FILES:.c=.o)
BIN_NAME = cpu-info
SO_NAME = cpu-info.so
BIN = $(SO_NAME)

ifdef DEBUG
    BIN = $(BIN_NAME)
    EXTRA_CFLAGS += -DDEBUG
    EXTRA_LDFLAGS = $(LDFLAGS)
endif

all : $(BIN)

$(BIN) : $(OBJ_FILES)
	$(CC) $(EXTRA_LDFLAGS) $(OBJ_FILES) -o $(BIN)

%.o : %.c
	$(CC) $(EXTRA_CFLAGS) -c $< -o $@

install : dirs
	$(INSTALL_x) $(SYSDIAG_TOOLS_SRC_DIR)/$(BIN_NAME)/$(BIN) $(DESTDIR)/$(SYSDIAG_MODULE_DIR)

dirs :
	$(INSTALL_d) $(DESTDIR)/$(SYSDIAG_MODULE_DIR)

clean :
	- rm -rf $(BIN_NAME) $(SO_NAME) $(OBJ_FILES)

.PHONY : all install dirs clean
