1# Algorithm Examples - C++ Makefile
2# ์๊ณ ๋ฆฌ์ฆ ์์ C++ ๋ฒ์ ๋น๋์ฉ
3
4CXX = g++
5CXXFLAGS = -Wall -Wextra -std=c++17 -O2
6LDFLAGS =
7
8# ๋ชจ๋ ์์ค ํ์ผ
9SOURCES = $(wildcard *.cpp)
10TARGETS = $(SOURCES:.cpp=)
11
12# ๊ธฐ๋ณธ ํ๊ฒ
13.PHONY: all clean help test run-all
14
15all: $(TARGETS)
16
17# ๊ฐ๋ณ ๋น๋ ๊ท์น
18%: %.cpp
19 $(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS)
20
21# ์ ๋ฆฌ
22clean:
23 rm -f $(TARGETS)
24 rm -f *.o
25
26# ๋์๋ง
27help:
28 @echo "Algorithm Examples - C++ Makefile"
29 @echo ""
30 @echo "์ฌ์ฉ๋ฒ:"
31 @echo " make - ๋ชจ๋ ์์ ์ปดํ์ผ"
32 @echo " make clean - ์คํ ํ์ผ ์ญ์ "
33 @echo " make test - ๋ชจ๋ ์์ ์คํ ๋ฐ ํ
์คํธ"
34 @echo " make run-XX - ํน์ ์์ ์คํ (์: make run-01)"
35 @echo ""
36 @echo "์์ ๋ชฉ๋ก:"
37 @echo " 01_complexity - ์๊ฐ ๋ณต์ก๋"
38 @echo " 02_array_string - ๋ฐฐ์ด๊ณผ ๋ฌธ์์ด"
39 @echo " 03_stack_queue - ์คํ๊ณผ ํ"
40 @echo " 04_hash_table - ํด์ ํ
์ด๋ธ"
41 @echo " 05_sorting - ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ"
42 @echo " 06_searching - ํ์ ์๊ณ ๋ฆฌ์ฆ"
43 @echo " 07_divide_conquer - ๋ถํ ์ ๋ณต"
44 @echo " 08_backtracking - ๋ฐฑํธ๋ํน"
45 @echo " 09_tree_bst - ํธ๋ฆฌ์ BST"
46 @echo " 10_heap - ํ"
47 @echo " 11_trie - ํธ๋ผ์ด"
48 @echo " 12_graph_basic - ๊ทธ๋ํ ๊ธฐ์ด"
49 @echo " 13_topological_sort- ์์ ์ ๋ ฌ"
50 @echo " 14_shortest_path - ์ต๋จ ๊ฒฝ๋ก"
51 @echo " 15_mst - ์ต์ ์ ์ฅ ํธ๋ฆฌ"
52 @echo " 16_lca - LCA"
53 @echo " 17_scc - SCC"
54 @echo " 18_dp - ๋์ ํ๋ก๊ทธ๋๋ฐ"
55 @echo " 19_greedy - ํ์ ์๊ณ ๋ฆฌ์ฆ"
56 @echo " 20_bitmask_dp - ๋นํธ๋ง์คํฌ DP"
57 @echo " 21_number_theory - ์ ์๋ก "
58 @echo " 22_string_algorithm- ๋ฌธ์์ด ์๊ณ ๋ฆฌ์ฆ"
59 @echo " 23_segment_tree - ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ"
60 @echo " 24_fenwick_tree - ํ์
ํธ๋ฆฌ"
61 @echo " 25_network_flow - ๋คํธ์ํฌ ํ๋ก์ฐ"
62 @echo " 26_geometry - ๊ธฐํ ์๊ณ ๋ฆฌ์ฆ"
63 @echo " 27_game_theory - ๊ฒ์ ์ด๋ก "
64 @echo " 28_advanced_dp - ๊ณ ๊ธ DP ์ต์ ํ"
65 @echo " 29_practice - ์ค์ ๋ฌธ์ ํ์ด"
66
67# ํ
์คํธ (๋ชจ๋ ์์ ์คํ)
68test: all
69 @echo "=========================================="
70 @echo "๋ชจ๋ ์์ ํ
์คํธ ์คํ"
71 @echo "=========================================="
72 @for target in $(TARGETS); do \
73 echo ""; \
74 echo "โถ Running $$target..."; \
75 ./$$target || echo "โ $$target ์คํจ"; \
76 echo ""; \
77 done
78 @echo "=========================================="
79 @echo "ํ
์คํธ ์๋ฃ"
80 @echo "=========================================="
81
82# ์ ์ฒด ์คํ
83run-all: all
84 @for target in $(TARGETS); do \
85 ./$$target; \
86 done
87
88# ๊ฐ๋ณ ์คํ ๊ท์น
89run-01: 01_complexity
90 ./01_complexity
91
92run-02: 02_array_string
93 ./02_array_string
94
95run-03: 03_stack_queue
96 ./03_stack_queue
97
98run-04: 04_hash_table
99 ./04_hash_table
100
101run-05: 05_sorting
102 ./05_sorting
103
104run-06: 06_searching
105 ./06_searching
106
107run-07: 07_divide_conquer
108 ./07_divide_conquer
109
110run-08: 08_backtracking
111 ./08_backtracking
112
113run-09: 09_tree_bst
114 ./09_tree_bst
115
116run-10: 10_heap
117 ./10_heap
118
119run-11: 11_trie
120 ./11_trie
121
122run-12: 12_graph_basic
123 ./12_graph_basic
124
125run-13: 13_topological_sort
126 ./13_topological_sort
127
128run-14: 14_shortest_path
129 ./14_shortest_path
130
131run-15: 15_mst
132 ./15_mst
133
134run-16: 16_lca
135 ./16_lca
136
137run-17: 17_scc
138 ./17_scc
139
140run-18: 18_dp
141 ./18_dp
142
143run-19: 19_greedy
144 ./19_greedy
145
146run-20: 20_bitmask_dp
147 ./20_bitmask_dp
148
149run-21: 21_number_theory
150 ./21_number_theory
151
152run-22: 22_string_algorithm
153 ./22_string_algorithm
154
155run-23: 23_segment_tree
156 ./23_segment_tree
157
158run-24: 24_fenwick_tree
159 ./24_fenwick_tree
160
161run-25: 25_network_flow
162 ./25_network_flow
163
164run-26: 26_geometry
165 ./26_geometry
166
167run-27: 27_game_theory
168 ./27_game_theory
169
170run-28: 28_advanced_dp
171 ./28_advanced_dp
172
173run-29: 29_practice
174 ./29_practice