[Makefile] %

2025. 5. 30. 02:40ยท๐Ÿƒ‍โ™€๏ธ Activities/42 Cursus

๐Ÿ“Œ %

%๋Š” 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๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

'๐Ÿƒโ€โ™€๏ธ Activities > 42 Cursus' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Makefile] PHONY  (1) 2025.05.30
[Makefile] SRC / OBJ / NAME  (0) 2025.05.30
[Makefile] make & make all ์ฐจ์ด  (0) 2025.05.30
[ํ—ค๋”ํŒŒ์ผ(.h)] ํ—ค๋”๊ฐ€๋“œ  (1) 2025.05.29
[Makefile] Makefile ๊ตฌ์กฐ์™€ rule  (0) 2025.05.29
'๐Ÿƒ‍โ™€๏ธ Activities/42 Cursus' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Makefile] PHONY
  • [Makefile] SRC / OBJ / NAME
  • [Makefile] make & make all ์ฐจ์ด
  • [ํ—ค๋”ํŒŒ์ผ(.h)] ํ—ค๋”๊ฐ€๋“œ
0=2.
0=2.
  • 0=2.
    0=2
    0=2.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿ“‚ Project (2)
        • Paint the City (2)
      • ๐Ÿ’ญ Problem Solving (42)
        • C++ (28)
        • Java (14)
      • ๐Ÿ“ Study (17)
        • React (1)
        • Java (16)
      • ๐Ÿ’ป CS (11)
        • ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ (2)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (9)
      • ๐Ÿƒ‍โ™€๏ธ Activities (32)
        • Web Front-End Basic Study (6)
        • 42 Cursus (26)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    CS
    git
    BFS
    ํŠธ๋ฆฌ
    ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ
    ๋ฐฑ์ค€
    HTML
    java
    react
    dynamic programming
    C
    github
    ์ •๋ ฌ
    VR
    dfs
    .h
    CSS
    La Piscine
    ๊ตฌํ˜„
    swea
    ๋ฐฑํŠธ๋ž˜ํ‚น
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    makefile
    ๋งต
    42๊ฒฝ์‚ฐ
    knapsack
    ์‹œ๋ฎฌ๋ ˆ์ด์…˜
    unity
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
0=2.
[Makefile] %
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”