dungeonanddeamon/DungeonAndDeamonScript/makefile

43 lines
1.3 KiB
Makefile

CC = g++
C_FLAGS = -g -Wall -ggdb -fPIC -std=c++14 -Og -m64 -fopenmp
LDFLAGS = -shared
GODOT_PATH = ../GodoBinding/#Chemin des rsrc godot
EXPORT_LINUX_PATH = $(SRC_PATH)linux/#Chemin du rep linux
SRC_PATH = ./DungeonAndDemaonScript/#Chemin des src
OBJ_PATH = $(EXPORT_LINUX_PATH)obj/#Chemin de l'export des obj
#Nom des includes
INCLUDE_GODOT = -I$(GODOT_PATH)include -I$(GODOT_PATH)include/gen -I$(GODOT_PATH)include/core -I$(GODOT_PATH)godot_headers -static
LIB_GODOT = -L$(GODOT_PATH)lib -lgodot-cpp.linux.debug.64#Nom des libs
LIB_NAME = $(EXPORT_LINUX_PATH)bin/DungeonAndDeamon.so #Chemin de l'export de la lib
LIB_SRC_CPP = $(wildcard $(SRC_PATH)*.cpp)#Recuperation des src .cpp
LIB_OBJ = $(addprefix $(OBJ_PATH), $(notdir $(LIB_SRC_CPP:.cpp=.o)))#Recuperation des .obj
all: init $(LIB_NAME)
$(LIB_NAME): $(LIB_OBJ)
$(CC) $(LDFLAGS) $^ -o $@ $(LIB_GODOT)
$(OBJ_PATH)%.o: $(SRC_PATH)%.cpp
$(CC) $(C_FLAGS) -c $^ $(INCLUDE_GODOT) -o $@
clean:
rm $(LIB_NAME)
#Test de si fichier existe / Sinon création
init : $(EXPORT_LINUX_PATH) $(EXPORT_LINUX_PATH)bin $(EXPORT_LINUX_PATH)obj
$(EXPORT_LINUX_PATH):
test ! -d $@ && mkdir $@
$(EXPORT_LINUX_PATH)bin:
test ! -d $@ && mkdir $@
$(EXPORT_LINUX_PATH)obj:
test ! -d $@ && mkdir $@
super-clean:
rm $(EXPORT_LINUX_PATH) -r