# Sources
SRC_DIR = .
OBJS = $(foreach dir,$(SRC_DIR),$(subst .cpp,.o,$(wildcard $(dir)/*.cpp))) $(foreach dir,$(SRC_DIR),$(subst .c,.o,$(wildcard $(dir)/*.c)))

INC_DIR = ..
INCS = $(foreach dir,$(INC_DIR), -I"$(dir)/")

# Compiler Settings
CXXFLAGS = -std=c++11 $(INCS) -D__STDC_FORMAT_MACROS -Wall -Wno-unused-but-set-variable -Wno-unused-value
ifeq ($(OS),Windows_NT)
	# Windows Only Flags/Libs
	CC = x86_64-w64-mingw32-gcc
	CXX = x86_64-w64-mingw32-g++
	CFLAGS += 
	CXXFLAGS += 
else
	# *nix Only Flags/Libs
	CFLAGS += 
	CXXFLAGS += 
endif

# Output
OUTPUT = ../lib$(shell basename $(CURDIR)).a

main: build

rebuild: clean build

build: $(OBJS)
	ar cr -o $(OUTPUT) $(OBJS)

clean:
	rm -rf $(OUTPUT) $(OBJS)