πβοΈ Activities/42 Cursus
[Makefile] %
0=2.
2025. 5. 30. 02:40
π %
%
λ Makefileμ ν¨ν΄ λ§€μΉ(Pattern Matching)μμ μ¬μ©λλ μμΌλμΉ΄λ(wildcard) μν μ΄λ€.
μ΄λ€ λ¬Έμμ΄κ³Όλ λμν μ μλ 'placeholder'κ°μ κ²μ΄λ€.
κΈ°λ³Έ μν (ν¨ν΄ κ·μΉ)
%λ νλμ λ¬Έμμ΄ ν¨ν΄μ μλ―Ένλ€.
%.o: %.c
λ .c
νμΌμ .o
νμΌλ‘ λ³ννλ μΌλ° κ·μΉμ λ§λ€ λ μ¬μ©νλ€.
μμ
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
%.o
: λͺ¨λ .o νμΌ%.c
: λͺ¨λ .c νμΌκ³Ό λμ$<
: νμ¬ μ»΄νμΌ μ€μΈ.c
νμΌ μ΄λ¦ (%.c)$@
: νμ¬ μμ± μ€μΈ .o νμΌ μ΄λ¦** (%.o)
ν¨ν΄ λ³ν $(VAR:%.c=%.o)
%λ λ³μ κ°μμ νΉμ ν¨ν΄μ λ³νν λλ μ¬μ©νλ€.
μμ
SRC = srcs/ft_putchar.c srcs/ft_swap.c
OBJ = $(SRC:%.c=%.o)
%.c
→%.o
:srcs/ft_putchar.c
λsrcs/ft_putchar.o
λ‘ λ³νλλ€.$(OBJ)
→srcs/ft_putchar.o
srcs/ft_swap.o
μλΈ λλ ν 리 ν¬ν¨ κ·μΉ
%λ μλΈ λλ ν 리 ꡬ쑰μμλ μ¬μ© κ°λ₯νλ€.
SRC = srcs/ft_putchar.c srcs/ft_swap.c
OBJ = $(SRC:srcs/%.c=srcs/%.o)
srcs/ft_putchar.c
→ srcs/ft_putchar.o
λ‘ λ³νν΄μ€λ€.