167 lines
4.6 KiB
Text
167 lines
4.6 KiB
Text
ifndef MAKEFILE_REGALW_INCLUDED
|
|
MAKEFILE_REGALW_INCLUDED := 1
|
|
|
|
.PHONY: regalw.lib regalw.clean
|
|
|
|
include build/common.inc
|
|
|
|
include build/regal.inc
|
|
|
|
#
|
|
# Regal Wrangler
|
|
#
|
|
|
|
REGALW.STATIC ?= libRegalW.a
|
|
REGALW.SHARED ?= libRegal.so
|
|
|
|
# Static library target not yet supported
|
|
|
|
REGALW.STATIC :=
|
|
|
|
# Shared library target not currently supported for NaCL or emscripten
|
|
|
|
ifneq ($(filter nacl% emscripten%,$(SYSTEM)),)
|
|
REGALW.SHARED :=
|
|
endif
|
|
|
|
|
|
ifdef REGALW.SHARED
|
|
|
|
all:: regalw.lib
|
|
|
|
clean:: regalw.clean
|
|
|
|
REGALW.LDFLAGS := -lstdc++ -pthread -lm
|
|
REGALW.LIBS :=
|
|
|
|
REGALW.SRCS := $(REGAL.CXX)
|
|
REGALW.SRCS += src/md5/src/md5.c
|
|
REGALW.SRCS += src/jsonsl/jsonsl.c
|
|
|
|
REGALW.CFLAGS += -DREGAL_WRANGLER=1
|
|
REGALW.INCLUDE := $(REGAL.INCLUDE)
|
|
|
|
# Optional flags
|
|
|
|
ifeq ($(MODE),release)
|
|
REGALW.CFLAGS += -DNDEBUG
|
|
#REGALW.CFLAGS += -DREGAL_NO_TLS=0 # 1 for single threaded
|
|
endif
|
|
|
|
#
|
|
# Flags for custom mode
|
|
#
|
|
|
|
ifeq ($(MODE),custom)
|
|
endif
|
|
|
|
|
|
REGALW.CFLAGS += -fvisibility=hidden
|
|
|
|
REGALW.SRCS.NAMES := $(notdir $(REGALW.SRCS))
|
|
|
|
REGALW.HEADERS :=
|
|
REGALW.HEADERS += include/GL/Regal.h
|
|
REGALW.HEADERS += src/regal/RegalPrivate.h
|
|
|
|
REGALW.OBJS := $(addprefix tmp/$(SYSTEM)/regalw/static/,$(REGALW.SRCS.NAMES))
|
|
REGALW.OBJS := $(REGALW.OBJS:.c=.o)
|
|
REGALW.OBJS := $(REGALW.OBJS:.cpp=.o)
|
|
REGALW.DEPS := $(REGALW.OBJS:.o=.d)
|
|
|
|
REGALW.SOBJS := $(addprefix tmp/$(SYSTEM)/regalw/shared/,$(REGALW.SRCS.NAMES))
|
|
REGALW.SOBJS := $(REGALW.SOBJS:.c=.o)
|
|
REGALW.SOBJS := $(REGALW.SOBJS:.cpp=.o)
|
|
REGALW.SDEPS := $(LIBS.SOBJS:.o=.d)
|
|
|
|
-include $(REGALW.DEPS) $(REGALW.SDEPS)
|
|
|
|
REGALW.LIBS += $(LDFLAGS.X11)
|
|
|
|
ifneq ($(filter linux%,$(SYSTEM)),)
|
|
REGALW.SONAME := libRegalW.so.$(SO_MAJOR)
|
|
REGALW.DEVLNK := libRegalW.so
|
|
REGALW.SHARED := libRegalW.so.$(SO_VERSION)
|
|
REGALW.LDFLAGS.SO := $(LDFLAGS.SO) $(LDFLAGS.DYNAMIC) -Wl,-soname=$(REGALW.SONAME)
|
|
endif
|
|
|
|
ifneq ($(filter darwin%,$(SYSTEM)),)
|
|
REGALW.SONAME := libRegalW.$(SO_MAJOR).dylib
|
|
REGALW.DEVLNK := libRegalW.dylib
|
|
REGALW.SHARED := libRegalW.$(SO_VERSION).dylib
|
|
REGALW.FRAMEWORK := RegalWrangler
|
|
REGALW.LDFLAGS.SO := $(LDFLAGS.SO) $(LDFLAGS.DYNAMIC) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
|
|
REGALW.LDFLAGS += -Wl,-reexport-lGLU -L/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries
|
|
endif
|
|
|
|
ifdef REGALW.STATIC
|
|
regalw.lib: lib/$(SYSTEM)/$(REGALW.STATIC)
|
|
endif
|
|
|
|
ifdef REGALW.SHARED
|
|
regalw.lib: lib/$(SYSTEM)/$(REGALW.SHARED)
|
|
endif
|
|
|
|
regalw.clean:
|
|
$(RM) -r tmp/$(SYSTEM)/regalw/static
|
|
$(RM) -r tmp/$(SYSTEM)/regalw/shared
|
|
ifdef REGALW.STATIC
|
|
$(RM) -r lib/$(SYSTEM)/$(REGALW.STATIC)
|
|
endif
|
|
ifdef REGALW.SHARED
|
|
$(RM) -r bin/$(SYSTEM)/$(REGALW.SHARED)
|
|
endif
|
|
|
|
lib/$(SYSTEM)/$(REGALW.STATIC): $(REGALW.OBJS)
|
|
@mkdir -p $(dir $@)
|
|
$(LOG_AR)$(CCACHE) $(AR) cr $@ $(REGALW.OBJS)
|
|
ifneq ($(RANLIB),)
|
|
$(LOG_RANLIB)$(RANLIB) $@
|
|
endif
|
|
ifneq ($(STRIP),)
|
|
$(LOG_STRIP)$(STRIP) -x $@
|
|
endif
|
|
|
|
REGALW.SHARED.DEPEND :=
|
|
|
|
ifdef REGALW.SHARED
|
|
lib/$(SYSTEM)/$(REGALW.SHARED): $(REGALW.SHARED.DEPEND) $(REGALW.SOBJS)
|
|
$(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) $(REGALW.LDFLAGS.SO) -o $@ $(REGALW.SOBJS) $(REGALW.SHARED.DEPEND) $(REGALW.LIBS) $(REGALW.LDFLAGS)
|
|
ifneq ($(LN),)
|
|
$(LN) $(REGALW.SHARED) lib/$(SYSTEM)/$(REGALW.SONAME)
|
|
$(LN) $(REGALW.SHARED) lib/$(SYSTEM)/$(REGALW.DEVLNK)
|
|
ifneq ($(REGALW.FRAMEWORK),)
|
|
$(LN) $(REGALW.SHARED) lib/$(SYSTEM)/$(REGALW.FRAMEWORK)
|
|
endif
|
|
endif
|
|
ifneq ($(STRIP),)
|
|
$(LOG_STRIP)$(STRIP) -x $@
|
|
endif
|
|
endif
|
|
|
|
tmp/$(SYSTEM)/regalw/static/%.o: src/regal/%.cpp $(REGALW.HEADERS)
|
|
@mkdir -p $(dir $@)
|
|
$(LOG_CXX)$(CCACHE) $(CXX) $(REGALW.CFLAGS) $(CFLAGS) $(CFLAGS.SO) $(REGALW.INCLUDE) -o $@ -c $<
|
|
|
|
tmp/$(SYSTEM)/regalw/shared/%.o: src/regal/%.cpp $(REGALW.HEADERS)
|
|
@mkdir -p $(dir $@)
|
|
$(LOG_CXX)$(CCACHE) $(CXX) $(REGALW.CFLAGS) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(REGALW.INCLUDE) -o $@ -c $<
|
|
|
|
tmp/$(SYSTEM)/regalw/static/%.o: src/md5/src/%.c $(REGALW.HEADERS)
|
|
@mkdir -p $(dir $@)
|
|
$(LOG_CC)$(CCACHE) $(CC) $(REGALW.CFLAGS) $(CFLAGS) $(CFLAGS.SO) $(REGALW.INCLUDE) -o $@ -c $<
|
|
|
|
tmp/$(SYSTEM)/regalw/shared/%.o: src/md5/src/%.c $(REGALW.HEADERS)
|
|
@mkdir -p $(dir $@)
|
|
$(LOG_CC)$(CCACHE) $(CC) $(REGALW.CFLAGS) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(REGALW.INCLUDE) -o $@ -c $<
|
|
|
|
tmp/$(SYSTEM)/regalw/static/%.o: src/jsonsl/%.c $(REGALW.HEADERS)
|
|
@mkdir -p $(dir $@)
|
|
$(LOG_CC)$(CCACHE) $(CC) $(REGALW.CFLAGS) $(CFLAGS) $(CFLAGS.SO) $(REGALW.INCLUDE) -o $@ -c $<
|
|
|
|
tmp/$(SYSTEM)/regalw/shared/%.o: src/jsonsl/%.c $(REGALW.HEADERS)
|
|
@mkdir -p $(dir $@)
|
|
$(LOG_CC)$(CCACHE) $(CC) $(REGALW.CFLAGS) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(REGALW.INCLUDE) -o $@ -c $<
|
|
|
|
endif
|
|
endif
|