1# ์ ์ฒด ์์ ๋น๋ Makefile
2
3CC = gcc
4CFLAGS = -Wall -Wextra -std=c11
5THREAD_FLAGS = -pthread
6
7# C ํ๋ก๊ทธ๋จ ๋ชฉ๋ก
8C_PROGRAMS = \
9 02_calculator/calculator \
10 03_number_guess/number_guess \
11 05_dynamic_array/dynamic_array \
12 06_linked_list/linked_list \
13 14_bit_operations/bit_manipulation
14
15# ๋ฉํฐ์ค๋ ๋ ํ๋ก๊ทธ๋จ
16THREAD_PROGRAMS = \
17 12_multithread/thread_basic
18
19.PHONY: all clean c-programs thread-programs
20
21all: c-programs thread-programs
22
23c-programs:
24 @echo "=== C ํ๋ก๊ทธ๋จ ์ปดํ์ผ ==="
25 @for prog in $(C_PROGRAMS); do \
26 echo "Compiling $$prog..."; \
27 $(CC) $(CFLAGS) $${prog}.c -o $$prog || exit 1; \
28 done
29 @echo "์๋ฃ!"
30
31thread-programs:
32 @echo ""
33 @echo "=== ๋ฉํฐ์ค๋ ๋ ํ๋ก๊ทธ๋จ ์ปดํ์ผ ==="
34 @for prog in $(THREAD_PROGRAMS); do \
35 echo "Compiling $$prog..."; \
36 $(CC) $(CFLAGS) $(THREAD_FLAGS) $${prog}.c -o $$prog || exit 1; \
37 done
38 @echo "์๋ฃ!"
39
40clean:
41 @echo "=== ์ ๋ฆฌ ์ค ==="
42 @for prog in $(C_PROGRAMS) $(THREAD_PROGRAMS); do \
43 rm -f $$prog; \
44 done
45 @echo "์๋ฃ!"
46
47# ๊ฐ๋ณ ํ๋ก๊ทธ๋จ ์คํ
48run-calculator:
49 @echo "=== ๊ณ์ฐ๊ธฐ ์คํ ==="
50 @./02_calculator/calculator
51
52run-guess:
53 @echo "=== ์ซ์ ๋ง์ถ๊ธฐ ์คํ ==="
54 @./03_number_guess/number_guess
55
56run-array:
57 @echo "=== ๋์ ๋ฐฐ์ด ์คํ ==="
58 @./05_dynamic_array/dynamic_array
59
60run-list:
61 @echo "=== ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์คํ ==="
62 @./06_linked_list/linked_list
63
64run-bit:
65 @echo "=== ๋นํธ ์ฐ์ฐ ์คํ ==="
66 @./14_bit_operations/bit_manipulation
67
68run-thread:
69 @echo "=== ์ค๋ ๋ ์คํ ==="
70 @./12_multithread/thread_basic
71
72# ๋์๋ง
73help:
74 @echo "์ฌ์ฉ ๊ฐ๋ฅํ ๋ช
๋ น:"
75 @echo " make - ๋ชจ๋ ํ๋ก๊ทธ๋จ ์ปดํ์ผ"
76 @echo " make c-programs - C ํ๋ก๊ทธ๋จ๋ง ์ปดํ์ผ"
77 @echo " make thread-programs - ๋ฉํฐ์ค๋ ๋ ํ๋ก๊ทธ๋จ ์ปดํ์ผ"
78 @echo " make clean - ์ปดํ์ผ๋ ํ์ผ ์ญ์ "
79 @echo ""
80 @echo "๊ฐ๋ณ ์คํ:"
81 @echo " make run-calculator - ๊ณ์ฐ๊ธฐ ์คํ"
82 @echo " make run-guess - ์ซ์ ๋ง์ถ๊ธฐ ์คํ"
83 @echo " make run-array - ๋์ ๋ฐฐ์ด ์คํ"
84 @echo " make run-list - ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์คํ"
85 @echo " make run-bit - ๋นํธ ์ฐ์ฐ ์คํ"
86 @echo " make run-thread - ์ค๋ ๋ ์คํ"