-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
28 lines (25 loc) · 886 Bytes
/
Copy pathMakefile
File metadata and controls
28 lines (25 loc) · 886 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#Criar pastas chamadas inc e src. Os arquivos
TARGET := cliente
SOURCE_DIR := src
OBJ_DIR := obj
INCLUDE_DIR := inc
BIN_DIR := bin
SOURCE_EXT := cpp
SOURCES := $(shell find $(SOURCE_DIR) -type f -name *.$(SOURCE_EXT))
OBJECTS := $(patsubst $(SOURCE_DIR)/%,$(OBJ_DIR)/%,$(SOURCES:.$(SOURCE_EXT)=.o))
LIB := -lSDL2 -lSDL2_image
INC := -I $(INCLUDE_DIR)
CXX := g++
CXXFLAGS := -g -Wall -Wno-reorder -O3 -std=c++11
RM := rm -f
$(TARGET): $(OBJECTS)
@mkdir -p $(BIN_DIR)
@echo " $(CXX) $^ -o $(TARGET) $(LIB)"; $(CXX) $^ -o $(BIN_DIR)/$(TARGET) $(LIB)
$(OBJ_DIR)/%.o: $(SOURCE_DIR)/%.$(SOURCE_EXT)
@mkdir -p $(OBJ_DIR)
@echo " $(CXX) $(CXXFLAGS) $(INC) -c -o $@ $<"; $(CXX) $(CXXFLAGS) $(INC) -c -o $@ $<
run: $(TARGET)
./$(BIN_DIR)/$(TARGET)
clean:
$(RM) -r $(OBJ_DIR) $(BIN_DIR)
.PHONY: clean