Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # EXECUTABLES - DO NOT MODIFIED
- CC = g++
- RM = rm -f
- MKDIR = mkdir -p
- # PROJECT NAME - will be output executable name
- PROJECT = helloworld
- # BUILD TARGETS - change your compile flags here
- BUILD_DEBUG = Debug
- CFLAGS_DEBUG = -g
- LFLAGS_DEBUG =
- BUILD_RELEASE = Release
- CFLAGS_RELEASE = -O2
- LFLAGS_RELEASE = -s
- # Add another build target here
- # Switch your build target here
- BUILD = $(BUILD_RELEASE)
- CFLAGS = -Wall $(CFLAGS_RELEASE)
- LFLAGS = $(LFLAGS_RELEASE)
- # Input directory
- SRCDIR = src
- # Output directories - DO NOT MODIFIED
- OBJDIR = build/$(BUILD)/obj
- EXEDIR = build/$(BUILD)/bin
- DEPDIR = build/_dependencies
- EXE = $(EXEDIR)/$(PROJECT).exe
- EXEWIN = build\$(BUILD)\bin\$(PROJECT).exe
- SRCS = $(wildcard $(SRCDIR)/*.cpp)
- HDRS = $(wildcard $(SRCDIR)/*.h)
- DEPS = $(patsubst $(SRCDIR)/%.cpp,$(DEPDIR)/%.d,$(SRCS))
- OBJS = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SRCS))
- $(DEPDIR)/%.d: $(SRCDIR)/%.cpp | $(DEPDIR)
- $(CC) $< -MM -MT "$@ $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$<)" > $@
- -include $(DEPS)
- $(OBJDIR)/%.o: $(SRCDIR)/%.cpp | $(OBJDIR)
- $(CC) $(CFLAGS) -c $< -o $@
- $(OBJDIR):
- $(MKDIR) $(OBJDIR)
- $(DEPDIR):
- $(MKDIR) $(DEPDIR)
- $(EXEDIR):
- $(MKDIR) $(EXEDIR)
- run:
- start cmd /k "$(EXEWIN) && pause && exit"
- build: $(OBJS) | $(EXEDIR)
- $(CC) $(OBJS) $(LFLAGS) -o $(EXE)
- clean:
- $(RM) $(EXE)
- $(RM) $(OBJS)
- .PHONY: run build clean
Advertisement
Add Comment
Please, Sign In to add comment