mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-16 15:00:47 +00:00
bde6fabf7d
* This is kind of arbitrary at the moment, but in future when D3D12 and Vulkan drivers appear, not everyone who builds RenderDoc will want to build all drivers, so making them separate projects makes it more easy to disable/remove them.
116 lines
2.9 KiB
Makefile
116 lines
2.9 KiB
Makefile
CC=gcc
|
|
CPP=g++
|
|
COMMIT=`git rev-parse HEAD`
|
|
MACROS=-DLINUX \
|
|
-DRENDERDOC_PLATFORM=linux \
|
|
-DRENDERDOC_EXPORTS \
|
|
-DGIT_COMMIT_HASH="\"$(COMMIT)\""
|
|
CFLAGS=-c -Wall -Werror -Wno-unused -Wno-unknown-pragmas -fPIC $(MACROS) -I. -I3rdparty/
|
|
CPPFLAGS=-std=c++11 -g -Wno-reorder -fvisibility=hidden -fvisibility-inlines-hidden
|
|
LDFLAGS=-lpthread -lrt -shared -ldl -lX11
|
|
LIBS=driver/gl/rdoc_gl.a
|
|
OBJDIR=.obj
|
|
OBJECTS=replay/replay_output.o \
|
|
replay/replay_renderer.o \
|
|
replay/entry_points.o \
|
|
replay/type_helpers.o \
|
|
hooks/hooks.o \
|
|
serialise/serialiser.o \
|
|
serialise/grisu2.o \
|
|
serialise/utf8printf.o \
|
|
serialise/string_utils.o \
|
|
common/common.o \
|
|
common/dds_readwrite.o \
|
|
core/remote_access.o \
|
|
core/replay_proxy.o \
|
|
core/remote_replay.o \
|
|
core/resource_manager.o \
|
|
core/core.o \
|
|
maths/camera.o \
|
|
maths/matrix.o \
|
|
os/os_specific.o \
|
|
3rdparty/jpeg-compressor/jpgd.o \
|
|
3rdparty/jpeg-compressor/jpge.o \
|
|
3rdparty/lz4/lz4.o \
|
|
3rdparty/stb/stb_impl.o \
|
|
3rdparty/tinyexr/tinyexr.o \
|
|
os/linux/linux_callstack.o \
|
|
os/linux/linux_network.o \
|
|
os/linux/linux_process.o \
|
|
os/linux/linux_stringio.o \
|
|
os/linux/linux_threading.o
|
|
DATA=data/glsl/debuguniforms.ho \
|
|
data/glsl/texsample.ho \
|
|
data/glsl/blit.frago \
|
|
data/glsl/blit.verto \
|
|
data/glsl/texdisplay.frago \
|
|
data/glsl/checkerboard.frago \
|
|
data/glsl/generic.frago \
|
|
data/glsl/generic.verto \
|
|
data/glsl/mesh.verto \
|
|
data/glsl/mesh.frago \
|
|
data/glsl/mesh.geomo \
|
|
data/glsl/text.verto \
|
|
data/glsl/text.frago \
|
|
data/glsl/quadoverdraw.frago \
|
|
data/glsl/histogram.compo \
|
|
data/glsl/arraymscopy.compo \
|
|
data/sourcecodepro.ttfo
|
|
|
|
.PHONY: all
|
|
all: librenderdoc.so
|
|
|
|
$(OBJDIR)/%.o: %.cpp
|
|
@mkdir -p $$(dirname $@)
|
|
$(CPP) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
|
@$(CPP) $(CFLAGS) $(CPPFLAGS) -MM -MT $(OBJDIR)/$*.o $*.cpp > $(OBJDIR)/$*.d
|
|
|
|
$(OBJDIR)/%.o: %.c
|
|
@mkdir -p $$(dirname $@)
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
@$(CC) $(CFLAGS) -MM -MT $(OBJDIR)/$*.o $*.c > $(OBJDIR)/$*.d
|
|
|
|
# objcopy needs to be run in with paths in current directory
|
|
# to produce the right symbol names
|
|
OBJGEN = \
|
|
mkdir -p $$(dirname $@); \
|
|
cd $$(dirname $<); \
|
|
objcopy --input binary --output elf64-x86-64 --binary-architecture i386 $$(basename $<) $$(basename $@); \
|
|
cd - > /dev/null 2>&1; \
|
|
mv $$(dirname $<)/$$(basename $@) $@;
|
|
|
|
$(OBJDIR)/%.verto: %.vert
|
|
@echo Object building $@
|
|
@$(OBJGEN)
|
|
$(OBJDIR)/%.frago: %.frag
|
|
@echo Object building $@
|
|
@$(OBJGEN)
|
|
$(OBJDIR)/%.geomo: %.geom
|
|
@echo Object building $@
|
|
@$(OBJGEN)
|
|
$(OBJDIR)/%.compo: %.comp
|
|
@echo Object building $@
|
|
@$(OBJGEN)
|
|
$(OBJDIR)/%.ttfo: %.ttf
|
|
@echo Object building $@
|
|
@$(OBJGEN)
|
|
$(OBJDIR)/%.ho: %.h
|
|
@echo Object building $@
|
|
@$(OBJGEN)
|
|
|
|
OBJDIR_OBJECTS=$(addprefix $(OBJDIR)/, $(OBJECTS))
|
|
OBJDIR_DATA=$(addprefix $(OBJDIR)/, $(DATA))
|
|
|
|
-include $(OBJDIR_OBJECTS:.o=.d)
|
|
|
|
driver/gl/rdoc_gl.a:
|
|
cd driver/gl && make rdoc_gl.a
|
|
|
|
librenderdoc.so: $(OBJDIR_OBJECTS) $(OBJDIR_DATA) $(LIBS)
|
|
$(CPP) -o librenderdoc.so $^ $(LDFLAGS)
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf librenderdoc.so $(OBJDIR)
|
|
cd driver/gl && make clean
|