.PHONY: clean install uninstall
CC=gcc
CFLAGS=-Wall -Wno-unused-value -std=c11 -c
ifdef DEBUG
	CFLAGS+=-g -O0
else
	CFLAGS+=-O2
endif
RM=rm -f
CP=cp --no-dereference
LIBS=-lcrypto -lxml2
APPNAME=blocksign
APP_OBJS=argparse.o blocksign.o sslhelper.o main.o s_helpers.o log.o cpld.o
INSTALL_PATH=/usr/local/bin/

all:$(APPNAME)

# Hardcoding path to openssl/1.1.1d library, because the ARC resource is not available.
$(APPNAME):$(APP_OBJS) 
	$(CC) $(APP_OBJS) -L /p/psg/ctools/openssl/1.1.1d/1/linux64/rel/lib -o $(APPNAME) $(LIBS)

main.o:main.c
	$(CC) $(CFLAGS) main.c

argparse.o:argparse.c
	$(CC) $(CFLAGS) -I/usr/include/libxml2 argparse.c

blocksign.o:blocksign.c
	$(CC) $(CFLAGS) blocksign.c

# Hardcoding path to openssl/1.1.1d library, because the ARC resource is not available.
sslhelper.o:sslhelper.c
	$(CC) $(CFLAGS) -I/p/psg/ctools/openssl/1.1.1d/1/linux64/rel/include/ sslhelper.c

s_helpers.o:s_helpers.c
	$(CC) $(CFLAGS) s_helpers.c

log.o:log.c
	$(CC) $(CFLAGS) log.c

cpld.o:cpld.c
	$(CC) $(CFLAGS) cpld.c

clean:
	$(RM) *.o $(APPNAME)
	
install:
	$(CP) $(APPNAME) $(INSTALL_PATH)
	
uninstall:
	$(RM) $(INSTALL_PATH)$(APPNAME)
