Advertisement
trannus_aran

c verbose compilation

Feb 24th, 2025
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 0.57 KB | None | 0 0
  1. include_folders=. ./include
  2. includes=$(foreach folder,$(include_folders),-I$(folder))
  3. source_folders=. ./src
  4.  
  5. CFLAGS=-Wall -Wextra -Werror -std=c99 -g -O0 $(includes)
  6. LDFLAGS=-L/usr/local/include -fsanitize=address
  7.  
  8. c_files=$(foreach folder,$(source_folders),$(wildcard $(folder)/*.c))
  9. assembly_files=$(patsubst %.c,%.s,$(c_files))
  10. object_files=$(patsubst %.c,%.o,$(c_files))
  11.  
  12.  
  13. all: app
  14.  
  15. app: $(object_files)
  16.     gcc $(LDFLAGS) -o $@ $^
  17.  
  18. %.o: %.s
  19.     gcc $(CFLAGS) -c -o $@ $<
  20.  
  21. %.s: %c
  22.     gcc $(CFLAGS) -o $@ -s $<
  23.  
  24. clean:
  25.     rm -rf app $(objects) $(assembly_files)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement