BUILD_DIR         = ./build
BUILD_OBJ_DIR     = $(BUILD_DIR)/Linux/obj
BUILD_BIN_DIR     = $(BUILD_DIR)/Linux/bin
BIN               = xo
CFLAGS            = -O2 -g -mtune=native -Wpedantic -Wall -Wno-unknown-pragmas -I src/i18n/${ISO} -D Linux -D ALLOCALIGN=16 -D LIBBSD -D CTRLANG=${ISO} -D INCLUDETESTS
LDFLAGS           = -g -rdynamic -lm -ldl -lbsd
CSRCS             = $(shell find ./src -maxdepth 1 -type f -name '*.c')
COBJS             = $(patsubst ./src/%.c, $(BUILD_OBJ_DIR)/%.o, $(CSRCS))
TARGET            = $(COBJS)

all: xo

xo: $(TARGET)
	@mkdir -p $(BUILD_BIN_DIR)
	$(CC) $(TARGET) $(LDFLAGS) -o $(BUILD_BIN_DIR)/$(BIN)

$(BUILD_OBJ_DIR)/%.o: ./src/%.c
	@mkdir -p $(BUILD_OBJ_DIR)
	$(CC) $(CFLAGS) $(EXTRACFLAGS) -c $< -o $@

clean:
	rm  $(BUILD_OBJ_DIR)/* $(BUILD_BIN_DIR)/$(BIN)

plugin:
	cd src/plugins/${PACKAGE} ; make all

plugin-clean:
	cd src/plugins/${PACKAGE} ; make clean

