Home | History | Annotate | Download | only in mesa
      1 # Copyright  2012 Intel Corporation
      2 #
      3 # Permission is hereby granted, free of charge, to any person obtaining a
      4 # copy of this software and associated documentation files (the "Software"),
      5 # to deal in the Software without restriction, including without limitation
      6 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
      7 # and/or sell copies of the Software, and to permit persons to whom the
      8 # Software is furnished to do so, subject to the following conditions:
      9 #
     10 # The above copyright notice and this permission notice (including the next
     11 # paragraph) shall be included in all copies or substantial portions of the
     12 # 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 DEALINGS
     20 # IN THE SOFTWARE.
     21 
     22 if NEED_LIBDRICORE
     23 DRICORE_SUBDIR = libdricore
     24 endif
     25 
     26 SUBDIRS = x86 x86-64 . $(DRICORE_SUBDIR) drivers
     27 
     28 gldir = $(includedir)/GL
     29 gl_HEADERS = $(top_srcdir)/include/GL/*.h
     30 
     31 .PHONY: main/git_sha1.h.tmp
     32 main/git_sha1.h.tmp:
     33 	@touch main/git_sha1.h.tmp
     34 	@if test -d ../../.git; then \
     35 		if which git > /dev/null; then \
     36 		    git log -n 1 --oneline | \
     37 			sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
     38 			> main/git_sha1.h.tmp ; \
     39 		fi \
     40 	fi
     41 
     42 main/git_sha1.h: main/git_sha1.h.tmp
     43 	@echo "updating main/git_sha1.h"
     44 	@if ! cmp -s main/git_sha1.h.tmp main/git_sha1.h; then \
     45 		mv main/git_sha1.h.tmp main/git_sha1.h ;\
     46 	else \
     47 		rm main/git_sha1.h.tmp ;\
     48 	fi
     49 
     50 # include glapi_gen.mk for generating glapi headers for GLES
     51 GLAPI = $(top_srcdir)/src/mapi/glapi/gen
     52 include $(GLAPI)/glapi_gen.mk
     53 
     54 BUILT_SOURCES = \
     55 	main/git_sha1.h \
     56 	main/api_exec_es1_dispatch.h \
     57 	main/api_exec_es1_remap_helper.h \
     58 	main/api_exec_es1.c \
     59 	program/program_parse.tab.c \
     60 	program/program_parse.tab.h \
     61 	program/lex.yy.c
     62 CLEANFILES = \
     63 	$(BUILT_SOURCES) \
     64 	git_sha1.h.tmp
     65 
     66 main/api_exec_es1_dispatch.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_dispatch_deps)
     67 	$(call glapi_gen_dispatch,$<,es1)
     68 
     69 main/api_exec_es1_remap_helper.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_remap_deps)
     70 	$(call glapi_gen_remap,$<,es1)
     71 
     72 main/api_exec_es1.o: main/api_exec_es1_dispatch.h main/api_exec_es1_remap_helper.h
     73 
     74 main/api_exec_es1.c: main/APIspec.xml main/es_generator.py main/APIspecutil.py main/APIspec.py
     75 	$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/main/es_generator.py \
     76 	  -S $(srcdir)/main/APIspec.xml -V GLES1.1 > $@
     77 
     78 program/program_parse.tab.c program/program_parse.tab.h: program/program_parse.y
     79 	$(MKDIR_P) program
     80 	$(AM_V_GEN) $(YACC) -p "_mesa_program_" -v -d --output=program/program_parse.tab.c $<
     81 
     82 program/lex.yy.c: program/program_lexer.l
     83 	$(MKDIR_P) program
     84 	$(AM_V_GEN) $(LEX) --never-interactive --outfile=$@ $<
     85 
     86 noinst_LTLIBRARIES =
     87 if NEED_LIBMESA
     88 noinst_LTLIBRARIES += libmesa.la
     89 else
     90 check_LTLIBRARIES = libmesa.la
     91 endif
     92 if HAVE_GALLIUM
     93 noinst_LTLIBRARIES += libmesagallium.la
     94 endif
     95 
     96 SRCDIR = $(top_srcdir)/src/mesa/
     97 BUILDDIR = $(top_builddir)/src/mesa/
     98 include sources.mak
     99 
    100 AM_CPPFLAGS = $(API_DEFINES) $(DEFINES) $(INCLUDE_DIRS)
    101 AM_CFLAGS = $(LLVM_CFLAGS) $(VISIBILITY_CFLAGS)
    102 AM_CXXFLAGS = $(LLVM_CFLAGS) $(VISIBILITY_CXXFLAGS)
    103 
    104 # cannot just add $(MESA_ASM_FILES) to libmesa_la_SOURCES as it contains a configure substitution
    105 MESA_ASM_FILES_FOR_ARCH =
    106 
    107 if HAVE_X86_ASM
    108 MESA_ASM_FILES_FOR_ARCH += $(X86_FILES)
    109 AM_CPPFLAGS += \
    110         -I$(top_builddir)/src/mesa/x86 \
    111         -I$(top_srcdir)/src/mesa/x86
    112 endif
    113 if HAVE_X86_64_ASM
    114 MESA_ASM_FILES_FOR_ARCH += $(X86_64_FILES)
    115 AM_CPPFLAGS += \
    116         -I$(top_builddir)/src/mesa/x86-64 \
    117         -I$(top_srcdir)/src/mesa/x86-64
    118 endif
    119 if HAVE_SPARC_ASM
    120 MESA_ASM_FILES_FOR_ARCH += $(SPARC_FILES)
    121 AM_CPPFLAGS += \
    122         -I$(top_builddir)/src/mesa/sparc \
    123         -I$(top_srcdir)/src/mesa/sparc
    124 endif
    125 
    126 libmesa_la_SOURCES = \
    127 	$(MESA_FILES) \
    128 	$(MESA_CXX_FILES) \
    129         $(MESA_ASM_FILES_FOR_ARCH)
    130 
    131 libmesa_la_LIBADD = $(top_builddir)/src/glsl/libglsl.la
    132 libmesa_la_LDFLAGS =
    133 
    134 libmesagallium_la_SOURCES = \
    135 	$(MESA_GALLIUM_FILES) \
    136 	$(MESA_GALLIUM_CXX_FILES) \
    137         $(MESA_ASM_FILES_FOR_ARCH)
    138 
    139 libmesagallium_la_LIBADD = $(top_builddir)/src/glsl/libglsl.la
    140 libmesagallium_la_LDFLAGS =
    141 
    142 if HAVE_GALLIUM
    143 # Provide compatibility with scripts for the old Mesa build system for
    144 # a while by putting a link to the library in the current directory.
    145 all-local: $(noinst_LTLIBRARIES)
    146 	ln -f .libs/libmesagallium.a .
    147 endif
    148 
    149 CLEANFILES += libmesagallium.a
    150 
    151 pkgconfigdir = $(libdir)/pkgconfig
    152 pkgconfig_DATA = gl.pc
    153 
    154 # Emacs tags
    155 tags:
    156 	etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h
    157