68 lines
1.3 KiB
Makefile
68 lines
1.3 KiB
Makefile
|
# THE NAME OF YOUR EXECUTABLE
|
||
|
TARGET = L4C
|
||
|
# ALL CPP COMPILABLE IMPLEMENTATION FILES THAT MAKE UP THE PROJECT
|
||
|
SRC_FILES = main.cpp
|
||
|
|
||
|
# NO EDITS NEEDED BELOW THIS LINE
|
||
|
|
||
|
CXX = g++
|
||
|
CXXFLAGS = -O2
|
||
|
CXXFLAGS_DEBUG = -g
|
||
|
CXXFLAGS_WARN = -Wall -Wextra -Wunreachable-code -Wshadow -Wpedantic
|
||
|
CPPVERSION = -std=c++17
|
||
|
|
||
|
OBJECTS = $(SRC_FILES:.cpp=.o)
|
||
|
|
||
|
ifeq ($(OS),Windows_NT)
|
||
|
TARGET := $(TARGET).exe
|
||
|
DEL = del
|
||
|
Q =
|
||
|
|
||
|
INC_PATH = Z:/CSCI200/include/
|
||
|
LIB_PATH = Z:/CSCI200/lib/
|
||
|
|
||
|
RPATH =
|
||
|
else
|
||
|
DEL = rm -f
|
||
|
Q = "
|
||
|
|
||
|
INC_PATH = /usr/local/include/
|
||
|
LIB_PATH = /usr/local/lib/
|
||
|
|
||
|
UNAME_S := $(shell uname -s)
|
||
|
ifeq ($(UNAME_S),Linux)
|
||
|
CXXFLAGS += -D LINUX
|
||
|
RPATH =
|
||
|
endif
|
||
|
ifeq ($(UNAME_S),Darwin)
|
||
|
CXXFLAGS += -D OSX
|
||
|
RPATH = -Wl,-rpath,/Library/Frameworks
|
||
|
endif
|
||
|
|
||
|
UNAME_P := $(shell uname -p)
|
||
|
endif
|
||
|
|
||
|
LIBS = -lsfml-graphics -lsfml-window -lsfml-system -lsfml-audio -lsfml-network
|
||
|
|
||
|
all: $(TARGET)
|
||
|
|
||
|
$(TARGET): $(OBJECTS)
|
||
|
$(CXX) -o $@ $^ $(RPATH) -L$(LIB_PATH) $(LIBS)
|
||
|
|
||
|
.cpp.o:
|
||
|
$(CXX) $(CXXFLAGS) $(CPPVERSION) $(CXXFLAGS_DEBUG) $(CXXFLAGS_WARN) -o $@ -c $< -I$(INC_PATH)
|
||
|
|
||
|
clean:
|
||
|
$(DEL) $(TARGET) $(OBJECTS)
|
||
|
|
||
|
depend:
|
||
|
@sed -i.bak '/^# DEPENDENCIES/,$$d' Makefile
|
||
|
@$(DEL) sed*
|
||
|
@echo $(Q)# DEPENDENCIES$(Q) >> Makefile
|
||
|
@$(CXX) -MM $(SRC_FILES) >> Makefile
|
||
|
|
||
|
.PHONY: all clean depend
|
||
|
|
||
|
# DEPENDENCIES
|
||
|
main.o: main.cpp
|