Advertisement
Guest User

Makefile

a guest
Jan 2nd, 2017
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 0.63 KB | None | 0 0
  1. # Makefile
  2.  
  3. # Directories variables
  4. INCLUDE_DIR = ./include
  5. SOURCE_DIR=./src
  6. SOURCE_FILES=$(wildcard $(SOURCE_DIR)/*.c)
  7. OBJECT_DIR=$(SOURCE_DIR)/obj
  8. OBJECT_FILES=$(patsubst $(SOURCE_DIR)/%.c,$(OBJECT_SOURCE)/%.o,$(SOURCE_FILES))
  9. OBJECT_FILES_B=$(addprefix $(OBJECT_SOURCE)/,$(notdir  $(SOURCE_FILES:.c=.o)))
  10. BINARY_DIR=./bin
  11.  
  12. # Compiling related variables
  13. CC=gcc
  14. CFLAGS = -c -I$(INCLUDE_DIR)
  15. LDFLAGS = -lSDL2
  16.  
  17. $(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c
  18.     $(CC) $(CFLAGS) -o $@ $<
  19.  
  20. $(BINARY_DIR)/main: $(OBJECT_FILES)
  21.     $(CC) $(LDFLAGS) -o $(BINARY_DIR)/$@ $<
  22.  
  23. .PHONY: clean
  24.  
  25. clean:
  26.     rm -f $(OBJECT_DIR)/* $(BINARY_DIR)/main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement