-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmakefile
More file actions
executable file
·29 lines (22 loc) · 891 Bytes
/
makefile
File metadata and controls
executable file
·29 lines (22 loc) · 891 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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/en -D Linux -D ALLOCALIGN=16 -D LIBBSD -D CTRLANG=en -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