-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
64 lines (51 loc) · 1.88 KB
/
Makefile
File metadata and controls
64 lines (51 loc) · 1.88 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# MiniDB Top-Level Makefile
# Builds both server and client with debug/optimized modes
.PHONY: all clean debug optimized server client server-debug server-optimized server-threaded server-threaded-optimized client-debug client-optimized
# Default target - build both in debug mode
all: debug
# Build both server and client in debug mode
debug: server-debug client-debug
# Build both server and client in optimized mode
optimized: server-optimized client-optimized
# Server targets
server: server-debug
server-debug:
$(MAKE) -C server debug
server-optimized:
$(MAKE) -C server optimized
server-threaded:
$(MAKE) -C server threaded
server-threaded-optimized:
$(MAKE) -C server threaded-optimized
# Client targets
client: client-debug
client-debug:
$(MAKE) -C client debug
client-optimized:
$(MAKE) -C client optimized
# Clean all builds
clean:
$(MAKE) -C server clean
$(MAKE) -C client clean
rm -f minidb_server minidb_client
# Install targets (copy to root directory)
install: debug
cp server/minidb_server .
cp client/minidb_client .
help:
@echo "MiniDB Build System"
@echo "=================="
@echo "Targets:"
@echo " all - Build both server and client (debug mode)"
@echo " debug - Build both in debug mode"
@echo " optimized - Build both in optimized mode"
@echo " server - Build server only (debug)"
@echo " client - Build client only (debug)"
@echo " server-debug - Build server in debug mode (multi-process)"
@echo " server-optimized - Build server in optimized mode (multi-process)"
@echo " server-threaded - Build server in debug mode (multi-threaded)"
@echo " server-threaded-optimized - Build server optimized (multi-threaded)"
@echo " client-debug - Build client in debug mode"
@echo " client-optimized - Build client in optimized mode"
@echo " clean - Clean all builds"
@echo " install - Build and copy binaries to root"