|
|
- #
- # **************************************************************
- # * Simple C++ Makefile Template *
- # * *
- # * Author: Arash Partow (2003) *
- # * URL: http://www.partow.net/programming/makefile/index.html *
- # * *
- # * Copyright notice: *
- # * Free use of this C++ Makefile template is permitted under *
- # * the guidelines and in accordance with the the MIT License *
- # * http://www.opensource.org/licenses/MIT *
- # * *
- # **************************************************************
- #
-
- CXX := -g++-7
- CXXFLAGS := -pedantic-errors -Wall -Wextra -Werror -O3 -Wno-unused-parameter -std=c++17
- LDFLAGS := -L/usr/lib -lstdc++ -lm -lpthread
- BUILD := build
- OBJ_DIR := $(BUILD)/objects
- APP_DIR := $(BUILD)/apps
- TARGET := program
- INCLUDE := -Iinclude/
- SRC := \
- $(wildcard src/TinyJS/*.cpp) \
- $(wildcard src/*.cpp) \
-
- OBJECTS := $(SRC:%.cpp=$(OBJ_DIR)/%.o)
-
- all: build $(TARGET)
-
- $(OBJ_DIR)/%.o: %.cpp
- @mkdir -p $(@D)
- $(CXX) $(CXXFLAGS) $(INCLUDE) -o $@ -c $<
-
- $(TARGET): $(OBJECTS)
- @mkdir -p $(@D)
- $(CXX) $(CXXFLAGS) $(INCLUDE) $(LDFLAGS) -o $(APP_DIR)/$(TARGET) $(OBJECTS)
-
- .PHONY: all build clean
-
- build:
- @mkdir -p $(APP_DIR)
- @mkdir -p $(OBJ_DIR)
-
- clean:
- rm -rf build/*
|