39 lines
798 B
Makefile
39 lines
798 B
Makefile
CXX = g++
|
|
CXXFLAGS = -g
|
|
LD = ld
|
|
|
|
LINKFLAGS = -lGL -lglfw
|
|
|
|
CC = gcc
|
|
CCFLAGS = -g
|
|
|
|
XNOECRAFT_CPP_SRCS = $(shell find src/ -name '*.cpp')
|
|
XNOECRAFT_C_SRCS = $(shell find src/ -name '*.c')
|
|
XNOECRAFT_RES = $(shell find res/ -type f)
|
|
|
|
XNOECRAFT_OBJS = $(patsubst src/%.cpp,build/%.o,$(XNOECRAFT_CPP_SRCS)) $(patsubst src/%.c,build/%.o,$(XNOECRAFT_C_SRCS)) $(patsubst res/%.dat,build/%.o,$(XNOECRAFT_RES))
|
|
|
|
.PHONY = all cleanbuild clean prepare
|
|
|
|
all: prepare build/xnoecraft
|
|
./build/xnoecraft
|
|
|
|
cleanbuild: clean prepare build/xnoecraft
|
|
|
|
clean:
|
|
rm -r build
|
|
|
|
prepare:
|
|
mkdir -p build
|
|
|
|
build/xnoecraft: $(XNOECRAFT_OBJS)
|
|
$(CXX) $(LINKFLAGS) -o $@ $^
|
|
|
|
build/%.o: src/%.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ -c $<
|
|
|
|
build/%.o: src/%.c
|
|
$(CC) $(CCFLAGS) -o $@ -c $<
|
|
|
|
build/%.o: res/%.dat
|
|
$(LD) -r -b binary $< -o $@
|