-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmakefile.obsd
More file actions
29 lines (22 loc) · 946 Bytes
/
makefile.obsd
File metadata and controls
29 lines (22 loc) · 946 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)/OpenBSD/obj
BUILD_BIN_DIR = $(BUILD_DIR)/OpenBSD/bin
BIN = xo
CFLAGS = -O2 -std=c99 -g -mtune=native -Wno-unknown-pragmas -D CTRLANG=${ISO} -D OpenBSD -D PLEDGE -D UNVEIL -D ALLOCALIGN=16 -D PATH_MAX=1024 -I src/i18n/en -D INCLUDETESTS
LDFLAGS = -g -rdynamic -lm
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} ; gmake -f makefile.obsd all
plugin-clean:
cd src/plugins/${PACKAGE} ; gmake -f makefile.obsd clean