mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-12 21:10:42 +00:00
768e812e45
* On windows it's strongly desired to be able to compile straight out of a clean checkout or source download. This means anyone can download the source and investigate something quickly, without having to worry about the hassle of figuring out how the project downloads 3rd party dependencies, fetching them, getting them registered in the right place. * This can't be put in a submodule as git submodules don't get downloaded by default so people new to git will get confusing compilation messages, and someone downloading the source from github directly without cloning via git won't get submodules included. * It does add some extra size to a fresh download/checkout which is unfortunate, but absolutely worth the cost. Shallow checkouts still aren't unfeasibly large, and it's only a one-off cost at clone time.
120 lines
3.4 KiB
Makefile
120 lines
3.4 KiB
Makefile
# ---------------------------------------------------------------
|
|
# SWIG Python Makefile
|
|
#
|
|
# This file can be used to build various Python extensions with SWIG.
|
|
# By default this file is set up for dynamic loading, but it can
|
|
# be easily customized for static extensions by modifying various
|
|
# portions of the file.
|
|
#
|
|
# SRCS = C source files
|
|
# CXXSRCS = C++ source files
|
|
# OBJCSRCS = Objective-C source files
|
|
# OBJS = Additional .o files (compiled previously)
|
|
# INTERFACE = SWIG interface file
|
|
# TARGET = Name of target module or executable
|
|
#
|
|
# Many portions of this file were created by the SWIG configure
|
|
# script and should already reflect your machine.
|
|
#----------------------------------------------------------------
|
|
|
|
SRCS =
|
|
CXXSRCS =
|
|
OBJCSRCS =
|
|
OBJS =
|
|
INTERFACE =
|
|
WRAPFILE = $(INTERFACE:.i=_wrap.c)
|
|
WRAPOBJ = $(INTERFACE:.i=_wrap.o)
|
|
TARGET = module@SO@ # Use this kind of target for dynamic loading
|
|
#TARGET = mypython # Use this target for static linking
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
CC = @CC@
|
|
CXX = @CXX@
|
|
OBJC = @CC@ -Wno-import # -Wno-import needed for gcc
|
|
CFLAGS =
|
|
INCLUDES =
|
|
LIBS =
|
|
|
|
# SWIG Options
|
|
# SWIG = location of the SWIG executable
|
|
# SWIGOPT = SWIG compiler options
|
|
# SWIGCC = Compiler used to compile the wrapper file
|
|
|
|
SWIG = $(exec_prefix)/bin/swig
|
|
SWIGOPT = -python
|
|
SWIGCC = $(CC)
|
|
|
|
# SWIG Library files. Uncomment if rebuilding the Python interpreter
|
|
#SWIGLIBS = -lembed.i
|
|
|
|
# Rules for creating .o files from source.
|
|
|
|
COBJS = $(SRCS:.c=.o)
|
|
CXXOBJS = $(CXXSRCS:.cxx=.o)
|
|
OBJCOBJS = $(OBJCSRCS:.m=.o)
|
|
ALLOBJS = $(COBJS) $(CXXOBJS) $(OBJCOBJS) $(OBJS)
|
|
|
|
# Command that will be used to build the final extension.
|
|
BUILD = $(SWIGCC)
|
|
|
|
# Uncomment the following if you are using dynamic loading
|
|
CCSHARED = @CCSHARED@
|
|
BUILD = @LDSHARED@
|
|
|
|
# Uncomment the following if you are using dynamic loading with C++ and
|
|
# need to provide additional link libraries (this is not always required).
|
|
|
|
#DLL_LIBS = -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.7.2 \
|
|
-L/usr/local/lib -lg++ -lstdc++ -lgcc
|
|
|
|
# Python installation
|
|
|
|
PY_INCLUDE = -DHAVE_CONFIG_H @PYINCLUDE@
|
|
PY_LIB = @PYLIB@
|
|
|
|
# Build libraries (needed for static builds)
|
|
|
|
LIBM = @LIBM@
|
|
LIBC = @LIBC@
|
|
SYSLIBS = $(LIBM) $(LIBC) @LIBS@
|
|
|
|
# Build options
|
|
|
|
BUILD_LIBS = $(LIBS) # Dynamic loading
|
|
|
|
# Compilation rules for non-SWIG components
|
|
|
|
.SUFFIXES: .c .cxx .m
|
|
|
|
.c.o:
|
|
$(CC) $(CCSHARED) $(CFLAGS) $(INCLUDES) -c $<
|
|
|
|
.cxx.o:
|
|
$(CXX) $(CCSHARED) $(CXXFLAGS) $(INCLUDES) -c $<
|
|
|
|
.m.o:
|
|
$(OBJC) $(CCSHARED) $(CFLAGS) $(INCLUDES) -c $<
|
|
|
|
|
|
# ----------------------------------------------------------------------
|
|
# Rules for building the extension
|
|
# ----------------------------------------------------------------------
|
|
|
|
all: $(TARGET)
|
|
|
|
# Convert the wrapper file into an object file
|
|
|
|
$(WRAPOBJ) : $(WRAPFILE)
|
|
$(SWIGCC) -c $(CCSHARED) $(CFLAGS) $(WRAPFILE) $(INCLUDES) $(PY_INCLUDE)
|
|
|
|
$(WRAPFILE) : $(INTERFACE)
|
|
$(SWIG) $(SWIGOPT) -o $(WRAPFILE) $(SWIGLIBS) $(INTERFACE)
|
|
|
|
$(TARGET): $(WRAPOBJ) $(ALLOBJS)
|
|
$(BUILD) $(WRAPOBJ) $(ALLOBJS) $(BUILD_LIBS) -o $(TARGET)
|
|
|
|
clean:
|
|
rm -f $(COBJS) $(CXXOBJS) $(OBJCOBJS) $(WRAPOBJ) $(WRAPFILE) $(TARGET)
|