aboutsummaryrefslogblamecommitdiffstats
path: root/src/Makefile_Ector.am
blob: 9288458fc3d75738cc7636bf7e44b415bb2f0af3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

           
                              



                                           


                                                     
                                                                  
 
                      
                            
                                                
                                                         
                                                 


                                                                 
                                                              
 
                                 
                               
                                                      
                                                     
                                                          
                                                       


                                                                       

                                                                    



                                          
                                           


                                                           
                                                        
 


                             


                                                    
                                                     
                                             
 
                                                  

                                                         




                           
                   
                                                            
                                                                        
     
 
                                                                 
                   
                        
                           
                          
                            
                               

                                     
 

                                        
                                

                                 
                        
                               


                                  


                                            
 



                                                        
                                              
                                        
                                                
                                     
 
                    
                                  


                                   


                              
                                 
 


                                                 
                                                 
                                                
                                                

       
                                  




                                                              

                                                   

                                                
                                            

                                     

                                      
 




                                                  
                                  





                                        
                        




                                    
                                                               
                             
                                                        
 
                                                                
                           


                                          
                                    
                                          
                                      
                                              



                                         
                          

                   
 

                                                          





                                                     

                                                                                             
 



                                         
 



                                                                                                         

 

                                                                        
                      
                                                         

                                                       

                

                                                                      


     
                

                                       
                                             


                                      

                                    
                                 
                       
 

### Library
ector_eolian_files_generic = \
	lib/ector/ector_surface.eo \
	lib/ector/ector_buffer.eo \
	lib/ector/ector_renderer.eo \
	lib/ector/ector_renderer_shape.eo \
	lib/ector/ector_renderer_gradient.eo \
	lib/ector/ector_renderer_gradient_radial.eo \
	lib/ector/ector_renderer_gradient_linear.eo
ector_eolian_generic_h = $(ector_eolian_files_generic:%.eo=%.eo.h)

# Handle cairo backend
ector_eolian_files_cairo = \
	lib/ector/cairo/ector_cairo_surface.eo \
	lib/ector/cairo/ector_cairo_software_surface.eo \
	lib/ector/cairo/ector_renderer_cairo.eo \
	lib/ector/cairo/ector_renderer_cairo_shape.eo \
	lib/ector/cairo/ector_renderer_cairo_gradient_linear.eo \
	lib/ector/cairo/ector_renderer_cairo_gradient_radial.eo
ector_eolian_cairo_h = $(ector_eolian_files_cairo:%.eo=%.eo.h)

# Handle default software backend
ector_eolian_files_software = \
	lib/ector/software/ector_software_surface.eo \
	lib/ector/software/ector_software_buffer.eo \
	lib/ector/software/ector_software_buffer_base.eo \
	lib/ector/software/ector_renderer_software.eo \
	lib/ector/software/ector_renderer_software_shape.eo \
	lib/ector/software/ector_renderer_software_gradient_radial.eo \
	lib/ector/software/ector_renderer_software_gradient_linear.eo
ector_eolian_software_h = $(ector_eolian_files_software:%.eo=%.eo.h)

# Handle gl backend
ector_eolian_files_gl = \
	lib/ector/gl/ector_gl_surface.eo \
	lib/ector/gl/ector_gl_buffer.eo \
	lib/ector/gl/ector_renderer_gl.eo \
	lib/ector/gl/ector_renderer_gl_shape.eo \
	lib/ector/gl/ector_renderer_gl_gradient_radial.eo \
	lib/ector/gl/ector_renderer_gl_gradient_linear.eo
ector_eolian_gl_h = $(ector_eolian_files_gl:%.eo=%.eo.h)

ector_eolian_type_files = \
    lib/ector/ector_types.eot

ector_eolian_files = \
                     $(ector_eolian_files_generic) \
                     $(ector_eolian_files_cairo) \
                     $(ector_eolian_files_software) \
                     $(ector_eolian_files_gl)

ector_eolian_c = $(ector_eolian_files:%.eo=%.eo.c)
ector_eolian_h = $(ector_eolian_files:%.eo=%.eo.h) \
                 $(ector_eolian_type_files:%.eot=%.eot.h)

BUILT_SOURCES += \
	$(ector_eolian_c) \
	$(ector_eolian_h)

if INSTALL_EO_FILES
ectoreolianfilesdir = $(datadir)/eolian/include/ector-@VMAJ@
ectoreolianfiles_DATA = $(ector_eolian_files) $(ector_eolian_type_files)
endif

EXTRA_DIST2 += $(ector_eolian_files) $(ector_eolian_type_files) \
lib/ector/Ector.h \
lib/ector/ector_util.h \
lib/ector/ector_surface.h \
lib/ector/ector_buffer.h \
lib/ector/ector_renderer.h \
lib/ector/cairo/Ector_Cairo.h \
lib/ector/software/Ector_Software.h \
lib/ector/gl/Ector_GL.h

lib_LTLIBRARIES += lib/ector/libector.la

# And the generic implementation

lib_ector_libector_la_SOURCES = \
lib/ector/ector_main.c \
lib/ector/ector_gl_internal.h \
lib/ector/ector_buffer.c \
lib/ector/ector_renderer_shape.c \
lib/ector/ector_renderer.c \
lib/ector/ector_renderer_gradient.c \
lib/ector/ector_renderer_gradient_radial.c \
lib/ector/ector_renderer_gradient_linear.c

# And now the cairo backend
lib_ector_libector_la_SOURCES += \
lib/ector/cairo/ector_renderer_cairo_gradient_linear.c \
lib/ector/cairo/ector_renderer_cairo_gradient_radial.c \
lib/ector/cairo/ector_renderer_cairo_shape.c \
lib/ector/cairo/ector_renderer_cairo.c \
lib/ector/cairo/ector_cairo_software_surface.c \
lib/ector/cairo/ector_cairo_surface.c

# SW draw static lib
lib_ector_libector_la_SOURCES += \
static_libs/draw/draw_main_sse2.c \
static_libs/draw/draw_main.c \
static_libs/draw/draw_main_neon.c \
static_libs/rg_etc/rg_etc1.c \
static_libs/rg_etc/rg_etc2.c \
static_libs/rg_etc/rg_etc1.h \
static_libs/rg_etc/etc2_encoder.c

# Triangulator static lib
triangulator_sources = \
static_libs/triangulator/triangulator_stroker.c \
static_libs/triangulator/triangulator_stroker.h \
static_libs/triangulator/triangulator_simple.c \
static_libs/triangulator/triangulator_simple.h \
$(NULL)

# And the default software backend
lib_ector_libector_la_SOURCES += \
lib/ector/software/ector_renderer_software_gradient_linear.c \
lib/ector/software/ector_renderer_software_gradient_radial.c \
lib/ector/software/ector_renderer_software_shape.c \
lib/ector/software/ector_software_gradient.c \
lib/ector/software/ector_software_gradient_sse3.c \
lib/ector/software/ector_software_gradient.h \
lib/ector/software/ector_software_rasterizer.c \
lib/ector/software/ector_software_surface.c \
lib/ector/software/ector_software_buffer.c \
static_libs/freetype/sw_ft_math.c \
static_libs/freetype/sw_ft_raster.c \
static_libs/freetype/sw_ft_stroker.c \
$(triangulator_sources)

# And now the gl backend
lib_ector_libector_la_SOURCES += \
lib/ector/gl/ector_renderer_gl_gradient_linear.c \
lib/ector/gl/ector_renderer_gl_gradient_radial.c \
lib/ector/gl/ector_renderer_gl_shape.c \
lib/ector/gl/ector_renderer_gl.c \
lib/ector/gl/ector_gl_buffer.c \
lib/ector/gl/ector_gl_surface.c \
lib/ector/gl/ector_gl_private.h \
lib/ector/gl/shader/ector_gl_shaders.x \
lib/ector/gl/ector_gl_shader.c

ECTOR_GL_SHADERS_GEN = \
lib/ector/gl/shader/gen_shaders.sh \
lib/ector/gl/shader/fragment.glsl \
lib/ector/gl/shader/vertex.glsl \
lib/ector/gl/shader/include.glsl

lib/ector/gl/shader/ector_gl_shaders.x: $(ECTOR_GL_SHADERS_GEN)
	@echo "  SHADERS  $@"
	@sh $(srcdir)/lib/ector/gl/shader/gen_shaders.sh

lib_ector_libector_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_builddir)/src/lib \
-I$(top_builddir)/src/lib/ector \
-I$(top_builddir)/src/lib/ector/cairo \
-I$(top_builddir)/src/lib/ector/software \
-I$(top_builddir)/src/lib/ector/gl \
-I$(top_srcdir)/src/static_libs/freetype \
-I$(top_srcdir)/src/static_libs/draw \
-I$(top_srcdir)/src/static_libs/triangulator \
@ECTOR_CFLAGS@ \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/ector\" \
-DEFL_BETA_API_SUPPORT=1 \
@VALGRIND_CFLAGS@ \
@SSE3_CFLAGS@

lib_ector_libector_la_LIBADD = @ECTOR_LIBS@
lib_ector_libector_la_DEPENDENCIES = @ECTOR_INTERNAL_LIBS@
lib_ector_libector_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@

### Unit tests

if EFL_ENABLE_TESTS

check_PROGRAMS += tests/ector/suite/ector_suite tests/ector/cxx_compile_test/cxx_compile_test
TESTS += tests/ector/suite/ector_suite

tests_ector_suite_ector_suite_SOURCES = \
tests/ector/suite/ector_suite.c \
tests/ector/suite/ector_suite.h \
tests/ector/suite/ector_test_init.c

tests_ector_cxx_compile_test_cxx_compile_test_SOURCES = tests/ector/cxx_compile_test/cxx_compile_test.cxx
tests_ector_cxx_compile_test_cxx_compile_test_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECTOR_CFLAGS@
tests_ector_cxx_compile_test_cxx_compile_test_LDADD = @USE_ECTOR_LIBS@
tests_ector_cxx_compile_test_cxx_compile_test_DEPENDENCIES = @USE_ECTOR_INTERNAL_LIBS@


tests_ector_suite_ector_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/tests/ector \
-DTESTS_WD=\"`pwd`\" \
-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/ector/suite\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/\" \
-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/ector\" \
@CHECK_CFLAGS@ \
@ECTOR_CFLAGS@
tests_ector_suite_ector_suite_LDADD = @CHECK_LIBS@ @USE_ECTOR_LIBS@
tests_ector_suite_ector_suite_DEPENDENCIES = @USE_ECTOR_INTERNAL_LIBS@

endif

EXTRA_DIST2 += \
lib/ector/ector_private.h \
lib/ector/cairo/ector_cairo_private.h \
lib/ector/software/ector_software_private.h \
static_libs/freetype/sw_ft_math.h \
static_libs/freetype/sw_ft_raster.h \
static_libs/freetype/sw_ft_stroker.h \
static_libs/freetype/sw_ft_types.h \
static_libs/draw/draw.h \
static_libs/draw/draw_private.h \
$(ECTOR_GL_SHADERS_GEN)