Advertisement
Guest User

makefile

a guest
Jun 30th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 0.69 KB | None | 0 0
  1. CC=g++
  2.  
  3. SRC_DIR=src
  4. BIN_DIR=bin
  5. OBJ_DIR=obj
  6.  
  7. SRC=$(wildcard $(SRC_DIR)/*.cpp)
  8. HDR=$(wildcard $(SRC_DIR)/*.hpp) $(wildcard $(SRC_DIR)/*.h)
  9. OBJ=$(patsubst $(SRC_DIR)/%.cpp, $(OBJ_DIR)/%.o, $(SRC))
  10.  
  11. DEBUG_EXE=$(BIN_DIR)\debug.exe
  12. RELEASE_EXE=$(BIN_DIR)\release.exe
  13.  
  14. debug: CFLAGS=-g -O0 -Wall
  15. debug: LDFLAGS=
  16.  
  17. release: CFLAGS=-Wall
  18. release: LDFLAGS=
  19.  
  20. .PHONY: release debug clean
  21.  
  22. debug: $(DEBUG_EXE)
  23.     $(DEBUG_EXE)
  24.  
  25. release: $(RELEASE_EXE)
  26.  
  27. $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(HDR)
  28.     $(CC) $(CFLAGS) -c -o $@ $<
  29.  
  30. $(DEBUG_EXE): $(OBJ)
  31.     $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
  32.  
  33. $(RELEASE_EXE): $(OBJ)
  34.     $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
  35.  
  36. clean:
  37.     del /f /q $(OBJ_DIR)\* $(BIN_DIR)\*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement