X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2FMakefile.am;h=390381828e92ef73dd5298f2888ae25649fe1487;hb=6c014782138634d5d36e1484bf498cef2b2d888f;hp=5e764cddc9fd8bff6f516c71e91a4ec43e9e9ea5;hpb=2d51ac84fd4c6d0fcf4d5112af2eb2c12e186b63;p=mesa.git diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am index 5e764cddc9f..390381828e9 100644 --- a/src/mesa/Makefile.am +++ b/src/mesa/Makefile.am @@ -19,24 +19,194 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. -SUBDIRS = x86 x86-64 . libdricore drivers +SUBDIRS = . main/tests + +if HAVE_X11_DRIVER +SUBDIRS += drivers/x11 +endif + +if HAVE_DRICOMMON +SUBDIRS += drivers/dri +endif + +if HAVE_OSMESA +SUBDIRS += drivers/osmesa +endif 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: + @# Don't assume that $(top_srcdir)/.git is a directory. It may be + @# a gitlink file if $(top_srcdir) is a submodule checkout or a linked + @# worktree. + @touch main/git_sha1.h.tmp + @if test -e $(top_srcdir)/.git; then \ + if which git > /dev/null; then \ + git --git-dir=$(top_srcdir)/.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 Makefile.sources -pkgconfigdir = $(libdir)/pkgconfig +EXTRA_DIST = \ + drivers/SConscript \ + main/format_info.py \ + main/format_pack.py \ + main/format_parser.py \ + main/format_unpack.py \ + main/formats.csv \ + main/get_hash_generator.py \ + main/get_hash_params.py \ + program/program_lexer.l \ + program/program_parse.y \ + SConscript \ + swrast/NOTES \ + swrast_setup/NOTES \ + tnl/NOTES \ + tnl_dd + +BUILT_SOURCES = \ + main/get_hash.h \ + main/format_info.h \ + main/git_sha1.h \ + main/format_pack.c \ + main/format_unpack.c \ + program/program_parse.tab.c \ + program/lex.yy.c +CLEANFILES = \ + $(BUILT_SOURCES) \ + program/program_parse.tab.h \ + main/git_sha1.h.tmp + +PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) + +main/get_hash.h: ../mapi/glapi/gen/gl_and_es_API.xml main/get_hash_params.py \ + main/get_hash_generator.py + $(PYTHON_GEN) $(srcdir)/main/get_hash_generator.py \ + -f $(srcdir)/../mapi/glapi/gen/gl_and_es_API.xml > $@ + +main/format_info.h: main/formats.csv \ + main/format_parser.py main/format_info.py + $(PYTHON_GEN) $(srcdir)/main/format_info.py $(srcdir)/main/formats.csv > $@ + +main/format_pack.c: main/format_pack.py main/formats.csv \ + main/format_parser.py + $(PYTHON_GEN) $(srcdir)/main/format_pack.py $(srcdir)/main/formats.csv > $@ + +main/format_unpack.c: main/format_unpack.py main/formats.csv \ + main/format_parser.py + $(PYTHON_GEN) $(srcdir)/main/format_unpack.py $(srcdir)/main/formats.csv > $@ + +main/formats.c: main/format_info.h + +noinst_LTLIBRARIES = $(ARCH_LIBS) +if NEED_LIBMESA +noinst_LTLIBRARIES += libmesa.la +else +check_LTLIBRARIES = libmesa.la +endif +if HAVE_GALLIUM +noinst_LTLIBRARIES += libmesagallium.la +endif + +AM_CPPFLAGS = $(DEFINES) $(INCLUDE_DIRS) +AM_CFLAGS = \ + $(LLVM_CFLAGS) \ + $(VISIBILITY_CFLAGS) \ + $(MSVC2013_COMPAT_CFLAGS) +AM_CXXFLAGS = \ + $(LLVM_CFLAGS) \ + $(VISIBILITY_CXXFLAGS) \ + $(MSVC2013_COMPAT_CXXFLAGS) + +ARCH_LIBS = + +if SSE41_SUPPORTED +ARCH_LIBS += libmesa_sse41.la +endif + +MESA_ASM_FILES_FOR_ARCH = + +if HAVE_X86_ASM +noinst_PROGRAMS = gen_matypes -if HAVE_OSMESA_DRIVER -pkgconfig_DATA = osmesa.pc +gen_matypes_SOURCES = x86/gen_matypes.c +BUILT_SOURCES += matypes.h + +if HAVE_X86_64_ASM +MESA_ASM_FILES_FOR_ARCH += $(X86_64_FILES) +AM_CPPFLAGS += -I$(builddir)/x86-64 -I$(srcdir)/x86-64 else +MESA_ASM_FILES_FOR_ARCH += $(X86_FILES) +AM_CPPFLAGS += -I$(builddir)/x86 -I$(srcdir)/x86 +endif +endif +if HAVE_SPARC_ASM +MESA_ASM_FILES_FOR_ARCH += $(SPARC_FILES) +AM_CPPFLAGS += -I$(builddir)/sparc -I$(srcdir)/sparc +endif + +libmesa_la_SOURCES = \ + $(MESA_FILES) \ + $(PROGRAM_FILES) \ + $(PROGRAM_NIR_FILES) \ + $(MESA_ASM_FILES_FOR_ARCH) + +libmesa_la_LIBADD = \ + $(top_builddir)/src/compiler/glsl/libglsl.la \ + $(ARCH_LIBS) + +libmesagallium_la_SOURCES = \ + $(MESA_GALLIUM_FILES) \ + $(PROGRAM_FILES) \ + $(PROGRAM_NIR_FILES) \ + $(MESA_ASM_FILES_FOR_ARCH) + +libmesagallium_la_LIBADD = \ + $(top_builddir)/src/compiler/glsl/libglsl.la \ + $(ARCH_LIBS) + +libmesa_sse41_la_SOURCES = \ + $(X86_SSE41_FILES) + +libmesa_sse41_la_CFLAGS = $(AM_CFLAGS) $(SSE41_CFLAGS) + +pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gl.pc + +MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D) +YACC_GEN = $(AM_V_GEN)$(YACC) $(YFLAGS) +LEX_GEN = $(AM_V_GEN)$(LEX) $(LFLAGS) + +program/lex.yy.c: program/program_lexer.l + $(MKDIR_GEN) + $(LEX_GEN) -o $@ $(srcdir)/program/program_lexer.l + +program/program_parse.tab.c program/program_parse.tab.h: program/program_parse.y + $(MKDIR_GEN) + $(YACC_GEN) -o $@ -p "_mesa_program_" --defines=$(builddir)/program/program_parse.tab.h $(srcdir)/program/program_parse.y + +if GEN_ASM_OFFSETS +matypes.h: $(gen_matypes_SOURCES) + $(AM_V_GEN)$(COMPILE) $< -DASM_OFFSETS -S -o - | \ + sed -n '/^->/{s:^->::;/[$$]/{s:^:#define :;s:[$$]::};p}' > $@ +else +matypes.h: gen_matypes + $(AM_V_GEN)./gen_matypes > $@ endif + +# Emacs tags +tags: + etags `find . -name \*.[ch]` $(top_srcdir)/include/GL/*.h