aboutsummaryrefslogblamecommitdiffstats
path: root/src/Makefile_Eolian.am
blob: d87f85b936cb8fc3a3d2268c8270b402872bae29 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                            

                                                         

                                                          
                                                       
                                                            
                                                                

                                                                
                                                                   
                                                                  
                                                                      
                                                                            
                                                                                
                                                              
                                                                  
                                                                   
                                                                       

                                                                         
                                                               
                                                                   
                                                              
                                                                  
                                                              

                                                                  
                                                                 

                                                                  
 


                                                                                  



                                                             

          
                 
                                     
 










                                      
 


                                                                              
 
                                         
                                 
 

              


                           
                                  
                                   
                                   
                             
                                

                           

                             
                                

                                           


                                          
                              




                                      
                            



                              
                                      
                                  




                                
                   



                                     
                               
                              
                                  
                                        


                             
 
             
                       
    
                                    
     
 

                                                                                                                                                         
                                                                                   

                                                                                                       
                                                        
                                                    
                                        
                                  
                
                           

                                  

                                                                                          
                                                                                                      
 

     
                
                                     
                                         

                                      


                                     
                                      
                                  

                                             
                                      

                                     



                                                   
                                  
                   

### Library

lib_LTLIBRARIES += lib/eolian/libeolian.la

installed_eolianmainheadersdir = $(includedir)/eolian-@VMAJ@
dist_installed_eolianmainheaders_DATA = lib/eolian/Eolian.h

lib_eolian_libeolian_la_SOURCES = \
                                  lib/eolian/eo_lexer.c \
                                  lib/eolian/eo_lexer.h \
                                  lib/eolian/eo_parser.c \
                                  lib/eolian/eo_parser.h \
                                  lib/eolian/eolian.c \
                                  lib/eolian/eolian_priv.h \
                                  lib/eolian/eolian_database.c \
                                  lib/eolian/eolian_database.h \
                                  lib/eolian/database_class.c \
                                  lib/eolian/database_class_api.c \
                                  lib/eolian/database_function.c \
                                  lib/eolian/database_function_api.c \
                                  lib/eolian/database_function_parameter.c \
                                  lib/eolian/database_function_parameter_api.c \
                                  lib/eolian/database_type.c \
                                  lib/eolian/database_type_api.c \
                                  lib/eolian/database_implement.c \
                                  lib/eolian/database_implement_api.c \
                                  lib/eolian/database_constructor.c \
                                  lib/eolian/database_constructor_api.c \
                                  lib/eolian/database_event.c \
                                  lib/eolian/database_event_api.c \
                                  lib/eolian/database_part.c \
                                  lib/eolian/database_part_api.c \
                                  lib/eolian/database_expr.c \
                                  lib/eolian/database_expr_api.c \
                                  lib/eolian/database_var.c \
                                  lib/eolian/database_var_api.c \
                                  lib/eolian/database_validate.c \
                                  lib/eolian/database_check.c

lib_eolian_libeolian_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EOLIAN_CFLAGS@ \
	-DPACKAGE_DATA_DIR=\"$(datadir)/eolian\"

lib_eolian_libeolian_la_LIBADD = @EOLIAN_LIBS@
lib_eolian_libeolian_la_DEPENDENCIES = @EOLIAN_INTERNAL_LIBS@
lib_eolian_libeolian_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@

### Binary

bin_PROGRAMS += \
                bin/eolian/eolian_gen

bin_eolian_eolian_gen_SOURCES = \
                bin/eolian/main.c \
                bin/eolian/main.h \
                bin/eolian/types.c \
                bin/eolian/types.h \
                bin/eolian/headers.c \
                bin/eolian/headers.h \
                bin/eolian/sources.c \
                bin/eolian/sources.h \
                bin/eolian/docs.c \
                bin/eolian/docs.h

bin_eolian_eolian_gen_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EOLIAN_CFLAGS@
bin_eolian_eolian_gen_LDADD = @USE_EOLIAN_LIBS@
bin_eolian_eolian_gen_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@

### Helper for other modules using Eolian
include Makefile_Eolian_Helper.am

### Unit tests


EOLIAN_TESTS_EOS = \
tests/eolian/data/base.eo \
tests/eolian/data/class_funcs.eo \
tests/eolian/data/class_simple.eo \
tests/eolian/data/complex_type.eo \
tests/eolian/data/consts.eo \
tests/eolian/data/ctor_dtor.eo \
tests/eolian/data/docs.eo \
tests/eolian/data/enum.eo \
tests/eolian/data/events.eo \
tests/eolian/data/extern.eo \
tests/eolian/data/free_func.eo \
tests/eolian/data/function_as_argument.eo \
tests/eolian/data/import.eo \
tests/eolian/data/nmsp1_class1.eo \
tests/eolian/data/nmsp1_nmsp11_class2.eo \
tests/eolian/data/nmsp2_class1.eo \
tests/eolian/data/no_nmsp.eo \
tests/eolian/data/null.eo \
tests/eolian/data/object_impl.eo \
tests/eolian/data/object_impl_add.eo \
tests/eolian/data/override.eo \
tests/eolian/data/owning.eo \
tests/eolian/data/parts.eo \
tests/eolian/data/scope.eo \
tests/eolian/data/struct.eo \
tests/eolian/data/typedef.eo \
tests/eolian/data/var.eo \
tests/eolian/data/function_types.eot \
tests/eolian/data/import_types.eot

EOLIAN_TESTS_EOS_GENERATED = \
$(EOLIAN_TESTS_EOS:%.eo=%.eo.c)\
$(EOLIAN_TESTS_EOS:%.eo=%.eo.h)

if EFL_ENABLE_TESTS
check_PROGRAMS += \
tests/eolian/eolian_suite

tests_eolian_eolian_suite_SOURCES = \
tests/eolian/eolian_parsing.c \
tests/eolian/eolian_static.c \
tests/eolian/eolian_generation.c \
tests/eolian/eolian_generated_future.c \
tests/eolian/eolian_suite.c \
tests/eolian/eolian_suite.h


if HAVE_AM_16
TESTS_EOLIAN_OBJNAME = 
else
TESTS_EOLIAN_OBJNAME = tests_eolian_
endif

tests/eolian/$(TESTS_EOLIAN_OBJNAME)eolian_suite-eolian_generated_future.$(OBJEXT): tests/eolian/generated_future.eo.h tests/eolian/generated_future.eo.c

CLEANFILES += tests/eolian/generated_future.eo.h tests/eolian/generated_future.eo.c

tests_eolian_eolian_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_builddir)/src/tests/eolian \
-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian\" \
-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eolian\" \
-DEO_SRC_DIR=\"$(top_srcdir)/src/lib\" \
-DEOLIAN_GEN="\"$(EOLIAN_GEN)\"" \
@CHECK_CFLAGS@ \
@EOLIAN_CFLAGS@ @EO_CFLAGS@
TESTS += tests/eolian/eolian_suite

tests_eolian_eolian_suite_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@ @USE_EO_LIBS@
tests_eolian_eolian_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@
tests/eolian/$(TESTS_EOLIAN_OBJNAME)eolian_suite-eolian_suite.$(OBJEXT): $(EOLIAN_TESTS_EOS_GENERATED)

endif

EXTRA_DIST2 += \
tests/eolian/data/object_impl_ref.c \
tests/eolian/data/object_impl_add_ref.c \
tests/eolian/data/typedef_ref.h \
tests/eolian/data/typedef_ref_stub.h \
tests/eolian/data/struct_ref.h \
tests/eolian/data/struct_ref_stub.h \
tests/eolian/data/owning.eo.c \
tests/eolian/data/class_simple_ref.c \
tests/eolian/data/override_ref.c \
tests/eolian/data/class_simple_ref_eo.h \
tests/eolian/data/class_simple_ref_legacy.h \
tests/eolian/data/import_types_ref.h \
tests/eolian/data/docs_ref.h \
tests/eolian/data/docs_ref_legacy.h \
tests/eolian/data/function_types_ref.h \
tests/eolian/data/function_as_argument_impl_ref.c \
tests/eolian/data/function_as_argument_ref.c \
tests/eolian/data/function_as_argument_ref.h \
tests/eolian/generated_future.eo \
$(EOLIAN_TESTS_EOS)