Home | History | Annotate | Download | only in intel
      1 # Copyright  2016 Intel Corporation
      2 # Copyright  2016 Mauro Rossi <issor.oruam (a] gmail.com>
      3 #
      4 # Permission is hereby granted, free of charge, to any person obtaining a
      5 # copy of this software and associated documentation files (the "Software"),
      6 # to deal in the Software without restriction, including without limitation
      7 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
      8 # and/or sell copies of the Software, and to permit persons to whom the
      9 # Software is furnished to do so, subject to the following conditions:
     10 #
     11 # The above copyright notice and this permission notice shall be included
     12 # in all copies or substantial portions of the Software.
     13 #
     14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     20 # DEALINGS IN THE SOFTWARE.
     21 #
     22 
     23 # ---------------------------------------
     24 # Build libmesa_genxml
     25 # ---------------------------------------
     26 
     27 include $(CLEAR_VARS)
     28 
     29 LOCAL_MODULE := libmesa_genxml
     30 
     31 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
     32 
     33 intermediates := $(call local-generated-sources-dir)
     34 prebuilt_intermediates := $(MESA_TOP)/prebuilt-intermediates
     35 
     36 # dummy.c source file is generated to meet the build system's rules.
     37 LOCAL_GENERATED_SOURCES += $(intermediates)/dummy.c
     38 
     39 $(intermediates)/dummy.c:
     40 	@mkdir -p $(dir $@)
     41 	@echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
     42 	$(hide) touch $@
     43 
     44 # This is the list of auto-generated files headers
     45 LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, $(GENXML_GENERATED_FILES))
     46 
     47 define header-gen
     48 	@mkdir -p $(dir $@)
     49 	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
     50 	$(hide) $(PRIVATE_SCRIPT) $(PRIVATE_SCRIPT_FLAGS) $(PRIVATE_XML) > $@
     51 endef
     52 
     53 $(intermediates)/genxml/genX_bits.h: $(prebuilt_intermediates)/genxml/genX_bits.h
     54 	@mkdir -p $(dir $@)
     55 	@cp -f $< $@
     56 
     57 $(intermediates)/genxml/gen4_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     58 $(intermediates)/genxml/gen4_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen4.xml
     59 $(intermediates)/genxml/gen4_pack.h: $(LOCAL_PATH)/genxml/gen4.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     60 	$(call header-gen)
     61 
     62 $(intermediates)/genxml/gen45_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     63 $(intermediates)/genxml/gen45_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen45.xml
     64 $(intermediates)/genxml/gen45_pack.h: $(LOCAL_PATH)/genxml/gen45.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     65 	$(call header-gen)
     66 
     67 $(intermediates)/genxml/gen5_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     68 $(intermediates)/genxml/gen5_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen5.xml
     69 $(intermediates)/genxml/gen5_pack.h: $(LOCAL_PATH)/genxml/gen5.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     70 	$(call header-gen)
     71 
     72 $(intermediates)/genxml/gen6_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     73 $(intermediates)/genxml/gen6_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen6.xml
     74 $(intermediates)/genxml/gen6_pack.h: $(LOCAL_PATH)/genxml/gen6.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     75 	$(call header-gen)
     76 
     77 $(intermediates)/genxml/gen7_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     78 $(intermediates)/genxml/gen7_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen7.xml
     79 $(intermediates)/genxml/gen7_pack.h: $(LOCAL_PATH)/genxml/gen7.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     80 	$(call header-gen)
     81 
     82 $(intermediates)/genxml/gen75_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     83 $(intermediates)/genxml/gen75_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen75.xml
     84 $(intermediates)/genxml/gen75_pack.h: $(LOCAL_PATH)/genxml/gen75.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     85 	$(call header-gen)
     86 
     87 $(intermediates)/genxml/gen8_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     88 $(intermediates)/genxml/gen8_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen8.xml
     89 $(intermediates)/genxml/gen8_pack.h: $(LOCAL_PATH)/genxml/gen8.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     90 	$(call header-gen)
     91 
     92 $(intermediates)/genxml/gen9_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     93 $(intermediates)/genxml/gen9_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen9.xml
     94 $(intermediates)/genxml/gen9_pack.h: $(LOCAL_PATH)/genxml/gen9.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
     95 	$(call header-gen)
     96 
     97 $(intermediates)/genxml/gen10_pack.h: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/genxml/gen_pack_header.py
     98 $(intermediates)/genxml/gen10_pack.h: PRIVATE_XML := $(LOCAL_PATH)/genxml/gen10.xml
     99 $(intermediates)/genxml/gen10_pack.h: $(LOCAL_PATH)/genxml/gen10.xml $(LOCAL_PATH)/genxml/gen_pack_header.py
    100 	$(call header-gen)
    101 
    102 $(intermediates)/genxml/genX_xml.h: $(addprefix $(MESA_TOP)/src/intel/,$(GENXML_XML_FILES)) $(MESA_TOP)/src/intel/genxml/gen_zipped_file.py
    103 	@mkdir -p $(dir $@)
    104 	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
    105 	$(hide) $(MESA_PYTHON2) $(MESA_TOP)/src/intel/genxml/gen_zipped_file.py $(addprefix $(MESA_TOP)/src/intel/,$(GENXML_XML_FILES)) > $@ || (rm -f $@; false)
    106 
    107 LOCAL_EXPORT_C_INCLUDE_DIRS := \
    108 	$(MESA_TOP)/src/intel \
    109 	$(intermediates)
    110 
    111 include $(MESA_COMMON_MK)
    112 include $(BUILD_STATIC_LIBRARY)
    113