Home | History | Annotate | Download | only in src
      1 LOCAL_PATH:= $(call my-dir)
      2 
      3 COMMON_C_INCLUDES += \
      4 	bionic \
      5 	$(LOCAL_PATH)/../include \
      6 	$(LOCAL_PATH)/OpenGL/ \
      7 	$(LOCAL_PATH) \
      8 	$(LOCAL_PATH)/Renderer/ \
      9 	$(LOCAL_PATH)/Common/ \
     10 	$(LOCAL_PATH)/Shader/ \
     11 	$(LOCAL_PATH)/Main/
     12 
     13 ifdef use_subzero
     14 COMMON_C_INCLUDES += \
     15 	$(LOCAL_PATH)/../third_party/subzero/ \
     16 	$(LOCAL_PATH)/../third_party/llvm-subzero/include/ \
     17 	$(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \
     18 	$(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/
     19 else
     20 COMMON_C_INCLUDES += \
     21 	$(LOCAL_PATH)/../third_party/LLVM/include
     22 endif
     23 
     24 # libnativewindow is introduced from O
     25 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo O),O)
     26 COMMON_SHARED_LIBRARIES := libnativewindow liblog
     27 COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers
     28 COMMON_STATIC_LIBRARIES := libarect
     29 endif
     30 
     31 # Marshmallow does not have stlport, but comes with libc++ by default
     32 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
     33 COMMON_C_INCLUDES += external/stlport/stlport
     34 endif
     35 
     36 COMMON_SRC_FILES := \
     37 	Common/CPUID.cpp \
     38 	Common/Configurator.cpp \
     39 	Common/DebugAndroid.cpp \
     40 	Common/GrallocAndroid.cpp \
     41 	Common/Half.cpp \
     42 	Common/Math.cpp \
     43 	Common/Memory.cpp \
     44 	Common/Resource.cpp \
     45 	Common/Socket.cpp \
     46 	Common/Thread.cpp \
     47 	Common/Timer.cpp
     48 
     49 COMMON_SRC_FILES += \
     50 	Main/Config.cpp \
     51 	Main/FrameBuffer.cpp \
     52 	Main/FrameBufferAndroid.cpp \
     53 	Main/SwiftConfig.cpp
     54 
     55 ifdef use_subzero
     56 COMMON_SRC_FILES += \
     57 	Reactor/SubzeroReactor.cpp \
     58 	Reactor/Routine.cpp \
     59 	Reactor/Optimizer.cpp
     60 else
     61 COMMON_SRC_FILES += \
     62 	Reactor/LLVMReactor.cpp \
     63 	Reactor/Routine.cpp \
     64 	Reactor/LLVMRoutine.cpp \
     65 	Reactor/LLVMRoutineManager.cpp
     66 endif
     67 
     68 COMMON_SRC_FILES += \
     69 	Renderer/Blitter.cpp \
     70 	Renderer/Clipper.cpp \
     71 	Renderer/Color.cpp \
     72 	Renderer/Context.cpp \
     73 	Renderer/ETC_Decoder.cpp \
     74 	Renderer/Matrix.cpp \
     75 	Renderer/PixelProcessor.cpp \
     76 	Renderer/Plane.cpp \
     77 	Renderer/Point.cpp \
     78 	Renderer/QuadRasterizer.cpp \
     79 	Renderer/Renderer.cpp \
     80 	Renderer/Sampler.cpp \
     81 	Renderer/SetupProcessor.cpp \
     82 	Renderer/Surface.cpp \
     83 	Renderer/TextureStage.cpp \
     84 	Renderer/Vector.cpp \
     85 	Renderer/VertexProcessor.cpp \
     86 
     87 COMMON_SRC_FILES += \
     88 	Shader/Constants.cpp \
     89 	Shader/PixelPipeline.cpp \
     90 	Shader/PixelProgram.cpp \
     91 	Shader/PixelRoutine.cpp \
     92 	Shader/PixelShader.cpp \
     93 	Shader/SamplerCore.cpp \
     94 	Shader/SetupRoutine.cpp \
     95 	Shader/Shader.cpp \
     96 	Shader/ShaderCore.cpp \
     97 	Shader/VertexPipeline.cpp \
     98 	Shader/VertexProgram.cpp \
     99 	Shader/VertexRoutine.cpp \
    100 	Shader/VertexShader.cpp \
    101 
    102 COMMON_SRC_FILES += \
    103 	OpenGL/common/Image.cpp \
    104 	OpenGL/common/Object.cpp \
    105 	OpenGL/common/MatrixStack.cpp \
    106 
    107 COMMON_CFLAGS := \
    108 	-DLOG_TAG=\"swiftshader\" \
    109 	-Wno-unused-parameter \
    110 	-Wno-implicit-exception-spec-mismatch \
    111 	-Wno-overloaded-virtual \
    112 	-Wno-non-virtual-dtor \
    113 	-Wno-attributes \
    114 	-Wno-unknown-attributes \
    115 	-Wno-unknown-warning-option \
    116 	-fno-operator-names \
    117 	-msse2 \
    118 	-D__STDC_CONSTANT_MACROS \
    119 	-D__STDC_LIMIT_MACROS \
    120 	-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
    121 	-std=c++11 \
    122 	-DNO_SANITIZE_FUNCTION=
    123 
    124 ifneq (16,${PLATFORM_SDK_VERSION})
    125 COMMON_CFLAGS += -Xclang -fuse-init-array
    126 else
    127 COMMON_CFLAGS += -D__STDC_INT64__
    128 endif
    129 
    130 # gralloc1 is introduced from N MR1
    131 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
    132 COMMON_CFLAGS += -DHAVE_GRALLOC1
    133 COMMON_C_INCLUDES += \
    134 	system/core/libsync/include \
    135 	system/core/libsync
    136 endif
    137 
    138 # Common Subzero defines
    139 COMMON_CFLAGS += -DALLOW_DUMP=0 -DALLOW_TIMERS=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=0 -DALLOW_WASM=0 -DICE_THREAD_LOCAL_HACK=1
    140 
    141 # Subzero target
    142 LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
    143 LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
    144 LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
    145 
    146 include $(CLEAR_VARS)
    147 LOCAL_CLANG := true
    148 LOCAL_MODULE := swiftshader_top_release
    149 LOCAL_VENDOR_MODULE := true
    150 LOCAL_MODULE_TAGS := optional
    151 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
    152 LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
    153 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
    154 LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
    155 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
    156 LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
    157 include $(BUILD_STATIC_LIBRARY)
    158 
    159 include $(CLEAR_VARS)
    160 LOCAL_CLANG := true
    161 LOCAL_MODULE := swiftshader_top_debug
    162 LOCAL_VENDOR_MODULE := true
    163 LOCAL_MODULE_TAGS := optional
    164 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
    165 LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
    166 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
    167 LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
    168 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
    169 LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
    170 include $(BUILD_STATIC_LIBRARY)
    171 
    172 include $(call all-makefiles-under,$(LOCAL_PATH))
    173