OPENSSL_LOC = /usr/local/opt/openssl

CC = gcc
CFLAGS = -Wall -Wextra -std=c11 -fwrapv -I$(OPENSSL_LOC)/include
CXX = g++
CXXFLAGS = -Wall -Wextra -std=c++11 -fwrapv -I$(OPENSSL_LOC)/include
LDFLAGS = -L$(OPENSSL_LOC)/lib -lcrypto
ifneq ($(DEBUG),)
	CFLAGS += -g
	CXXFLAGS += -g
else
	CFLAGS += -O2
	CXXFLAGS += -O2
endif

CTARGETS = $(patsubst %.c,%,$(wildcard *.c))
CXXTARGETS = $(patsubst %.cpp,%,$(wildcard *.cpp))

.PHONY: all clean remake

all: $(CTARGETS) $(CXXTARGETS)

clean:
	rm -rf $(CXXTARGETS) $(CTARGETS) *.dSYM

remake: clean all


$(CTARGETS): %: %.c
	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)

$(CXXTARGETS): %: %.c
	$(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS)