-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
29 lines (23 loc) · 793 Bytes
/
Makefile
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
29
CC = /usr/bin/gcc
SHELL = /usr/bin/bash
CFLAGS = -B/usr/bin/ -Wall -Wextra --std=gnu11 -D_GNU_SOURCE
LFLAGS = -lpthread
SRC_FILES = main.c http.c log.c util.c poll.c \
proxy/tunnel_conn.c proxy/accepted.c proxy/connecting.c proxy/tunneling.c \
lib/asyncaddrinfo/asyncaddrinfo.c
OUT_DIR = out
BIN = proxy
.PHONY: all debug dev prod clean
all: prod
# Verbose logging, debug symbols
debug: clean
$(CC) $(CFLAGS) -g -o $(OUT_DIR)/$(BIN) $(SRC_FILES) $(LFLAGS)
# Less verbose logging, -O2, no debug symbols
dev: clean
$(CC) $(CFLAGS) -DNO_DEBUG_LOG -O2 -o $(OUT_DIR)/$(BIN) $(SRC_FILES) $(LFLAGS)
# No logging, -O2, no debug symbols
prod: clean
$(CC) $(CFLAGS) -DNO_LOG -O2 -o $(OUT_DIR)/$(BIN) $(SRC_FILES) $(LFLAGS)
clean:
rm -rf $(OUT_DIR)
mkdir -p $(OUT_DIR)