Makefile updates to productionize the release
Change-Id: I9b043641f2c978d50cc4ae6492dff74ad5f006d6
Reviewed-on: https://swiftshader-review.googlesource.com/3019
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Greg Hartman <ghartman@google.com>
diff --git a/src/Android.mk b/src/Android.mk
index 9695f3b..8bbaf05 100644
--- a/src/Android.mk
+++ b/src/Android.mk
@@ -4,6 +4,7 @@
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_top
+LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := \
Common/CPUID.cpp \
diff --git a/src/LLVM/Android.mk b/src/LLVM/Android.mk
index 2371ef1..5da1bfa 100644
--- a/src/LLVM/Android.mk
+++ b/src/LLVM/Android.mk
@@ -3,8 +3,8 @@
LOCAL_CLANG := true
-LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/lib/egl
LOCAL_MODULE := libLLVM_swiftshader
+LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := \
lib/Analysis/AliasAnalysis.cpp \
diff --git a/src/OpenGL/compiler/Android.mk b/src/OpenGL/compiler/Android.mk
index dfe8baf..8af5d96 100644
--- a/src/OpenGL/compiler/Android.mk
+++ b/src/OpenGL/compiler/Android.mk
@@ -4,6 +4,7 @@
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_compiler
+LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES += \
preprocessor/Diagnostics.cpp \
diff --git a/src/OpenGL/libEGL/Android.mk b/src/OpenGL/libEGL/Android.mk
index 0eb0cda..0280be0 100644
--- a/src/OpenGL/libEGL/Android.mk
+++ b/src/OpenGL/libEGL/Android.mk
@@ -1,43 +1,74 @@
LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
+COMMON_CFLAGS := \
+ -DLOG_TAG=\"libEGL_swiftshader\" \
+ -std=c++11 \
+ -DEGLAPI= \
+ -DEGL_EGLEXT_PROTOTYPES
-LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/lib/egl
-LOCAL_MODULE := libEGL_swiftshader
-
-LOCAL_SRC_FILES += \
+COMMON_SRC_FILES := \
Config.cpp \
Display.cpp \
Surface.cpp \
libEGL.cpp \
main.cpp
-LOCAL_CFLAGS += -DLOG_TAG=\"libEGL_swiftshader\"
-
-# Android's make system also uses NDEBUG, so we need to set/unset it forcefully
-# Uncomment for ON:
-LOCAL_CFLAGS += -UNDEBUG -g -O0
-# Uncomment for OFF:
-#LOCAL_CFLAGS += -DANGLE_DISABLE_TRACE
-
-LOCAL_CFLAGS += -std=c++11
-LOCAL_CFLAGS += -DEGLAPI=
-LOCAL_CFLAGS += -DEGL_EGLEXT_PROTOTYPES
-
-# These changes tie the build to Cloud Android. Do something else
-# for other Android builds.
-LOCAL_STATIC_LIBRARIES += swiftshader_top libgceframebufferconfig libgcemetadata
-LOCAL_C_INCLUDES += device/google/gce/include
-
-LOCAL_SHARED_LIBRARIES += libdl liblog libandroid libutils libcutils libhardware $(GCE_STLPORT_LIBS)
-LOCAL_LDFLAGS += -Wl,--version-script=$(LOCAL_PATH)/exports.map -Wl,--hash-style=sysv
-
-LOCAL_C_INCLUDES += \
+COMMON_C_INCLUDES := \
+ device/google/gce/include \
$(LOCAL_PATH)/../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../
-include external/stlport/libstlport.mk
+COMMON_STATIC_LIBRARIES := \
+ swiftshader_top \
+ libgcemetadata
+COMMON_SHARED_LIBRARIES := \
+ libgceframebufferconfig \
+ libdl \
+ liblog \
+ libandroid \
+ libutils \
+ libcutils \
+ libhardware \
+ $(GCE_STLPORT_LIBS)
+
+COMMON_LDFLAGS := \
+ -Wl,--version-script=$(LOCAL_PATH)/exports.map \
+ -Wl,--hash-style=sysv
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/obj
+LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/sym
+LOCAL_MODULE := libEGL_swiftshader_vendor_debug
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := libEGL_swiftshader.so
+LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
+
+LOCAL_CLANG := true
+LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
+LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
+include external/stlport/libstlport.mk
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/obj
+LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/sym
+LOCAL_MODULE := libEGL_swiftshader_vendor_release
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := libEGL_swiftshader.so
+LOCAL_CFLAGS += $(COMMON_CFLAGS) -DANGLE_DISABLE_TRACE
+
+LOCAL_CLANG := true
+LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
+LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
+include external/stlport/libstlport.mk
include $(BUILD_SHARED_LIBRARY)
diff --git a/src/OpenGL/libGLES_CM/Android.mk b/src/OpenGL/libGLES_CM/Android.mk
index 32a79a0..e2d7b28 100644
--- a/src/OpenGL/libGLES_CM/Android.mk
+++ b/src/OpenGL/libGLES_CM/Android.mk
@@ -1,12 +1,19 @@
LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
+COMMON_CFLAGS := \
+ -DLOG_TAG=\"libGLES_CM_swiftshader\" \
+ -std=c++11 \
+ -fno-operator-names \
+ -msse2 \
+ -D__STDC_CONSTANT_MACROS \
+ -D__STDC_LIMIT_MACROS \
+ -DEGLAPI= \
+ -DGL_API= \
+ -DGL_APICALL= \
+ -DGL_GLEXT_PROTOTYPES
-LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/lib/egl
-LOCAL_MODULE := libGLESv1_CM_swiftshader
-LOCAL_SRC_FILES += \
+COMMON_SRC_FILES := \
Buffer.cpp \
Context.cpp \
Device.cpp \
@@ -20,27 +27,7 @@
utilities.cpp \
VertexDataManager.cpp
-LOCAL_CFLAGS += -DLOG_TAG=\"libGLES_CM_swiftshader\"
-LOCAL_CFLAGS += -fno-operator-names -msse2 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
-LOCAL_CFLAGS += -std=c++11
-LOCAL_CFLAGS += -DEGLAPI=
-LOCAL_CFLAGS += -DGL_API=
-LOCAL_CFLAGS += -DGL_APICALL=
-LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
-
-# Android's make system also uses NDEBUG, so we need to set/unset it forcefully
-# Uncomment for ON:
-LOCAL_CFLAGS += -UNDEBUG -g -O0
-# Uncomment for OFF:
-#LOCAL_CFLAGS += -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
-
-LOCAL_SHARED_LIBRARIES += libdl liblog libcutils libhardware libui libutils \
- $(GCE_STLPORT_LIBS)
-
-LOCAL_STATIC_LIBRARIES += swiftshader_top libLLVM_swiftshader
-LOCAL_LDFLAGS += -Wl,--gc-sections -Wl,--version-script=$(LOCAL_PATH)/exports.map -Wl,--hash-style=sysv
-
-LOCAL_C_INCLUDES += \
+COMMON_C_INCLUDES := \
$(LOCAL_PATH)/../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
@@ -53,6 +40,59 @@
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
-include external/stlport/libstlport.mk
+COMMON_STATIC_LIBRARIES := swiftshader_top libLLVM_swiftshader
+COMMON_SHARED_LIBRARIES := \
+ libdl \
+ liblog \
+ libcutils \
+ libhardware \
+ libui \
+ libutils \
+ $(GCE_STLPORT_LIBS)
+
+COMMON_LDFLAGS := \
+ -Wl,--gc-sections \
+ -Wl,--version-script=$(LOCAL_PATH)/exports.map \
+ -Wl,--hash-style=sysv
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/obj
+LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/sym
+LOCAL_MODULE := libGLESv1_CM_swiftshader_vendor_debug
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := libGLESv1_CM_swiftshader.so
+LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
+
+LOCAL_CLANG := true
+LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
+LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
+include external/stlport/libstlport.mk
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/obj
+LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/sym
+LOCAL_MODULE := libGLESv1_CM_swiftshader_vendor_release
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := libGLESv1_CM_swiftshader.so
+LOCAL_CFLAGS += \
+ $(COMMON_CFLAGS) \
+ -fomit-frame-pointer \
+ -ffunction-sections \
+ -fdata-sections \
+ -DANGLE_DISABLE_TRACE
+
+LOCAL_CLANG := true
+LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
+LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
+include external/stlport/libstlport.mk
include $(BUILD_SHARED_LIBRARY)
diff --git a/src/OpenGL/libGLESv2/Android.mk b/src/OpenGL/libGLESv2/Android.mk
index 71104f9..5a7e2f8 100644
--- a/src/OpenGL/libGLESv2/Android.mk
+++ b/src/OpenGL/libGLESv2/Android.mk
@@ -1,12 +1,17 @@
LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
+COMMON_CFLAGS := \
+ -DLOG_TAG=\"libGLESv2_swiftshader\" \
+ -fno-operator-names \
+ -msse2 \
+ -D__STDC_CONSTANT_MACROS \
+ -D__STDC_LIMIT_MACROS \
+ -std=c++11 \
+ -DGL_API= \
+ -DGL_APICALL= \
+ -DGL_GLEXT_PROTOTYPES
-LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/lib/egl
-LOCAL_MODULE := libGLESv2_swiftshader
-
-LOCAL_SRC_FILES += \
+COMMON_SRC_FILES := \
Buffer.cpp \
Context.cpp \
Device.cpp \
@@ -26,27 +31,7 @@
VertexArray.cpp \
VertexDataManager.cpp \
-LOCAL_CFLAGS += -DLOG_TAG=\"libGLESv2_swiftshader\"
-
-# Android's make system also uses NDEBUG, so we need to set/unset it forcefully
-# Uncomment for ON:
-LOCAL_CFLAGS += -UNDEBUG -g -O0
-# Uncomment for OFF:
-#LOCAL_CFLAGS += -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
-
-LOCAL_CFLAGS += -fno-operator-names -msse2 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
-LOCAL_CFLAGS += -std=c++11
-LOCAL_CFLAGS += -DGL_API=
-LOCAL_CFLAGS += -DGL_APICALL=
-LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
-
-LOCAL_SHARED_LIBRARIES += libdl liblog libcutils libhardware libui libutils \
- $(GCE_STLPORT_LIBS)
-
-LOCAL_STATIC_LIBRARIES += swiftshader_compiler swiftshader_top libLLVM_swiftshader
-LOCAL_LDFLAGS += -Wl,--gc-sections -Wl,--version-script=$(LOCAL_PATH)/exports.map -Wl,--hash-style=sysv
-
-LOCAL_C_INCLUDES += \
+COMMON_C_INCLUDES := \
$(LOCAL_PATH)/../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
@@ -59,6 +44,62 @@
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
-include external/stlport/libstlport.mk
+COMMON_STATIC_LIBRARIES := \
+ swiftshader_compiler \
+ swiftshader_top \
+ libLLVM_swiftshader
+COMMON_SHARED_LIBRARIES := \
+ libdl \
+ liblog \
+ libcutils \
+ libhardware \
+ libui \
+ libutils \
+ $(GCE_STLPORT_LIBS)
+
+COMMON_LDFLAGS := \
+ -Wl,--gc-sections \
+ -Wl,--version-script=$(LOCAL_PATH)/exports.map \
+ -Wl,--hash-style=sysv
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/obj
+LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/debug/sym
+LOCAL_MODULE := libGLESv2_swiftshader_vendor_debug
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := libGLESv2_swiftshader.so
+LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
+
+LOCAL_CLANG := true
+LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
+LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
+include external/stlport/libstlport.mk
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/obj
+LOCAL_UNSTRIPPED_PATH := vendor/transgaming/swiftshader/$(TARGET_ARCH)/release/sym
+LOCAL_MODULE := libGLESv2_swiftshader_vendor_release
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := libGLESv2_swiftshader.so
+LOCAL_CFLAGS += \
+ $(COMMON_CFLAGS) \
+ -fomit-frame-pointer \
+ -ffunction-sections \
+ -fdata-sections \
+ -DANGLE_DISABLE_TRACE
+
+LOCAL_CLANG := true
+LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
+LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES += $(COMMON_STATIC_LIBRARIES)
+LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
+LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
+include external/stlport/libstlport.mk
include $(BUILD_SHARED_LIBRARY)