X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2FMakefile.am;h=8e4530da306a86fd5cf275ab13031e13ba07066d;hb=66159f94a5ce00b2e7c06766d7d1ecc1208c2f69;hp=5e764cddc9fd8bff6f516c71e91a4ec43e9e9ea5;hpb=2d51ac84fd4c6d0fcf4d5112af2eb2c12e186b63;p=mesa.git diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am index 5e764cddc9f..8e4530da306 100644 --- a/src/mesa/Makefile.am +++ b/src/mesa/Makefile.am @@ -24,19 +24,129 @@ SUBDIRS = x86 x86-64 . libdricore drivers gldir = $(includedir)/GL gl_HEADERS = $(top_srcdir)/include/GL/*.h -all-local: - $(MAKE) -f Makefile.old +.PHONY: main/git_sha1.h.tmp +main/git_sha1.h.tmp: + @touch main/git_sha1.h.tmp + @if test -d ../../.git; then \ + if which git > /dev/null; then \ + git log -n 1 --oneline | \ + sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \ + > main/git_sha1.h.tmp ; \ + fi \ + fi -install-exec-local: - $(MAKE) -f Makefile.old install +main/git_sha1.h: main/git_sha1.h.tmp + @echo "updating main/git_sha1.h" + @if ! cmp -s main/git_sha1.h.tmp main/git_sha1.h; then \ + mv main/git_sha1.h.tmp main/git_sha1.h ;\ + else \ + rm main/git_sha1.h.tmp ;\ + fi -clean-local: - $(MAKE) -f Makefile.old clean +# include glapi_gen.mk for generating glapi headers for GLES +GLAPI = $(top_srcdir)/src/mapi/glapi/gen +include $(GLAPI)/glapi_gen.mk -pkgconfigdir = $(libdir)/pkgconfig +BUILT_SOURCES = \ + main/git_sha1.h \ + main/api_exec_es1_dispatch.h \ + main/api_exec_es1_remap_helper.h \ + main/api_exec_es1.c \ + program/program_parse.tab.c \ + program/program_parse.tab.h \ + program/lex.yy.c +CLEANFILES = \ + $(BUILT_SOURCES) \ + git_sha1.h.tmp + +main/api_exec_es1_dispatch.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_dispatch_deps) + $(call glapi_gen_dispatch,$<,es1) + +main/api_exec_es1_remap_helper.h: $(GLAPI)/gl_and_es_API.xml $(glapi_gen_remap_deps) + $(call glapi_gen_remap,$<,es1) + +main/api_exec_es1.o: main/api_exec_es1_dispatch.h main/api_exec_es1_remap_helper.h + +main/api_exec_es1.c: main/APIspec.xml main/es_generator.py main/APIspecutil.py main/APIspec.py + $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/main/es_generator.py \ + -S $(srcdir)/main/APIspec.xml -V GLES1.1 > $@ + +program/program_parse.tab.c program/program_parse.tab.h: program/program_parse.y + $(MKDIR_P) program + $(AM_V_GEN) $(YACC) -p "_mesa_program_" -v -d --output=program/program_parse.tab.c $< + +program/lex.yy.c: program/program_lexer.l + $(MKDIR_P) program + $(AM_V_GEN) $(LEX) --never-interactive --outfile=$@ $< -if HAVE_OSMESA_DRIVER -pkgconfig_DATA = osmesa.pc +noinst_LTLIBRARIES = +if NEED_LIBMESA +noinst_LTLIBRARIES += libmesa.la else -pkgconfig_DATA = gl.pc +check_LTLIBRARIES = libmesa.la +endif +if HAVE_GALLIUM +noinst_LTLIBRARIES += libmesagallium.la +endif + +SRCDIR = $(top_srcdir)/src/mesa/ +BUILDDIR = $(top_builddir)/src/mesa/ +include sources.mak + +AM_CPPFLAGS = $(API_DEFINES) $(DEFINES) $(INCLUDE_DIRS) +AM_CFLAGS = $(LLVM_CFLAGS) +AM_CXXFLAGS = $(LLVM_CFLAGS) + +# cannot just add $(MESA_ASM_FILES) to libmesa_la_SOURCES as it contains a configure substitution +MESA_ASM_FILES_FOR_ARCH = + +if HAVE_X86_ASM +MESA_ASM_FILES_FOR_ARCH += $(X86_FILES) +AM_CPPFLAGS += \ + -I$(top_builddir)/src/mesa/x86 \ + -I$(top_srcdir)/src/mesa/x86 endif +if HAVE_X86_64_ASM +MESA_ASM_FILES_FOR_ARCH += $(X86_64_FILES) +AM_CPPFLAGS += \ + -I$(top_builddir)/src/mesa/x86-64 \ + -I$(top_srcdir)/src/mesa/x86-64 +endif +if HAVE_SPARC_ASM +MESA_ASM_FILES_FOR_ARCH += $(SPARC_FILES) +AM_CPPFLAGS += \ + -I$(top_builddir)/src/mesa/sparc \ + -I$(top_srcdir)/src/mesa/sparc +endif + +libmesa_la_SOURCES = \ + $(MESA_FILES) \ + $(MESA_CXX_FILES) \ + $(MESA_ASM_FILES_FOR_ARCH) + +libmesa_la_LIBADD = $(top_builddir)/src/glsl/libglsl.la +libmesa_la_LDFLAGS = + +libmesagallium_la_SOURCES = \ + $(MESA_GALLIUM_FILES) \ + $(MESA_GALLIUM_CXX_FILES) \ + $(MESA_ASM_FILES_FOR_ARCH) + +libmesagallium_la_LIBADD = $(top_builddir)/src/glsl/libglsl.la +libmesagallium_la_LDFLAGS = + +if HAVE_GALLIUM +# Provide compatibility with scripts for the old Mesa build system for +# a while by putting a link to the library in the current directory. +all-local: $(noinst_LTLIBRARIES) + ln -f .libs/libmesagallium.a . +endif + +CLEANFILES += libmesagallium.a + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = gl.pc + +# Emacs tags +tags: + etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h