40 lines
888 B
Makefile
40 lines
888 B
Makefile
LIBS =
|
|
COMPILER = g++
|
|
WINDOWS_COMPILE = x86_64-w64-mingw32-g++
|
|
WINDOWS_LD_FLAG = -static $(shell x86_64-w64-mingw32-pkg-config --static --libs $(LIBS))
|
|
COMPILE_FLAG = -Wall -Wextra -c
|
|
LD_FLAG = $(shell pkg-config --static --libs $(LIBS))
|
|
OBJDIR=./objs/
|
|
SRC=./src/
|
|
SRCS=$(shell ls src/* | grep "\.c")
|
|
|
|
ALL : build link clean
|
|
windows : winswitch build winlink clean
|
|
|
|
winswitch :
|
|
echo "building"
|
|
$(eval COMPILER = $(WINDOWS_COMPILE))
|
|
$(eval LD_FLAG = $(WINDOWS_LD_FLAG) -o )
|
|
|
|
build :
|
|
mkdir -p ${OBJDIR}
|
|
-@rm run
|
|
@echo ""
|
|
@echo "building :"
|
|
@cd ${OBJDIR} && for src in ${SRCS}; do echo ${COMPILER} ${COMPILE_FLAG} ../$$src && ${COMPILER} ${COMPILE_FLAG} ../$$src; done;
|
|
|
|
link:
|
|
${COMPILER} ${OBJDIR}/* ${LD_FLAG} -o run
|
|
|
|
winlink:
|
|
-rm run.exe
|
|
${COMPILER} ${OBJDIR}/* ${LD_FLAG} run.exe
|
|
|
|
winrun:
|
|
WINEDEBUG=-all wine run.exe
|
|
|
|
clean :
|
|
@echo ""
|
|
@echo "cleaning : "
|
|
-rm ${OBJDIR}*
|