4 include $(TOP
)/configs
/current
6 MESA_LIBS
:= libmesa.a libmesagallium.a
15 MESA_OBJECTS
:= $(addprefix $(MESA_OBJ_DIR
)/, $(MESA_OBJECTS
))
16 MESA_GALLIUM_OBJECTS
:= $(addprefix $(MESA_OBJ_DIR
)/, $(MESA_GALLIUM_OBJECTS
))
18 # define preprocessor flags
19 MESA_CPPFLAGS
:= $(API_DEFINES
) $(DEFINES
)
22 MESA_CPPFLAGS
+= $(INCLUDE_DIRS
)
25 CFLAGS
:= $(filter-out $(DEFINES
), $(CFLAGS
))
26 CXXFLAGS
:= $(filter-out $(DEFINES
), $(CXXFLAGS
))
28 # LLVM is needed for the state tracker
29 MESA_CFLAGS
:= $(LLVM_CFLAGS
)
33 $(CC
) -c
-o
$@
$< $($(1)_CPPFLAGS
) $($(1)_CFLAGS
) $(CFLAGS
)
38 $(CXX
) -c
-o
$@
$< $($(1)_CPPFLAGS
) $($(1)_CFLAGS
) $(CXXFLAGS
)
41 $(MESA_OBJ_DIR
)/%.o
: %.c
42 $(call mesa-cc-c
,MESA
)
44 $(MESA_OBJ_DIR
)/%.o
: %.
cpp
45 $(call mesa-cxx-c
,MESA
)
47 $(MESA_OBJ_DIR
)/%.o
: %.S
48 $(call mesa-cc-c
,MESA
)
50 # Default: build dependencies, then asm_subdirs, GLSL built-in lib,
51 # then convenience libs (.a) and finally the device drivers:
52 default
: $(DEPENDS
) asm_subdirs
$(MESA_LIBS
) driver_subdirs
54 main
/api_exec_es1.c
: main
/APIspec.xml main
/es_generator.py main
/APIspecutil.py main
/APIspec.py
55 $(PYTHON2
) $(PYTHON_FLAGS
) main
/es_generator.py
-S main
/APIspec.xml
-V GLES1.1
> $@
57 main
/api_exec_es2.c
: main
/APIspec.xml main
/es_generator.py main
/APIspecutil.py main
/APIspec.py
58 $(PYTHON2
) $(PYTHON_FLAGS
) main
/es_generator.py
-S main
/APIspec.xml
-V GLES2.0
> $@
60 ######################################################################
61 # Helper libraries used by many drivers:
63 # Make archive of core mesa object files
64 libmesa.a
: $(MESA_OBJECTS
) $(GLSL_LIBS
)
65 @
$(MKLIB
) -o mesa
-static
$(MESA_OBJECTS
) $(GLSL_LIBS
)
67 # Make archive of subset of core mesa object files for gallium
68 libmesagallium.a
: $(MESA_GALLIUM_OBJECTS
) $(GLSL_LIBS
)
69 @
$(MKLIB
) -o mesagallium
-static
$(MESA_GALLIUM_OBJECTS
) $(GLSL_LIBS
)
71 ######################################################################
73 driver_subdirs
: $(MESA_LIBS
)
74 @
(cd drivers
&& $(MAKE
))
77 ######################################################################
80 @ if echo
"$(ASM_FLAGS)" | grep
-q USE_X86_ASM
; then \
81 (cd x86
&& $(MAKE
)) || exit
1 ; \
83 @ if echo
"$(ASM_FLAGS)" | grep
-q USE_X86_64_ASM
; then \
84 (cd x86
&& $(MAKE
)) || exit
1 ; \
85 (cd x86-64
&& $(MAKE
)) || exit
1 ; \
89 ######################################################################
90 # Dependency generation
92 depend
: $(ALL_SOURCES
)
93 @ echo
"running $(MKDEP)"
95 @
$(MKDEP
) $(MKDEP_OPTIONS
) -p
$(MESA_OBJ_DIR
)/ $(MESA_CPPFLAGS
) \
96 $(ALL_SOURCES
) > /dev
/null
2>/dev
/null
98 ######################################################################
101 # this isn't fleshed out yet but is probably the way to go in the future
103 (cd drivers
&& $(MAKE
) install)
106 # XXX replace this with new_install above someday
108 @for driver in
$(DRIVER_DIRS
) ; do \
110 osmesa
) if
[ "$(DRIVER_DIRS)" = osmesa
]; then \
111 $(MAKE
) install-headers install-osmesa || exit
1 ; \
113 $(MAKE
) install-osmesa || exit
1 ; \
115 dri
) $(MAKE
) install-libgl install-dri || exit
1 ;; \
116 *) $(MAKE
) install-libgl || exit
1 ;; \
121 -e
's,@INSTALL_DIR@,$(INSTALL_DIR),' \
122 -e
's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
123 -e
's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
124 -e
's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
129 -e
's,@GL_PC_REQ_PRIV@,$(GL_PC_REQ_PRIV),' \
130 -e
's,@GL_PC_LIB_PRIV@,$(GL_PC_LIB_PRIV),' \
131 -e
's,@GL_PC_CFLAGS@,$(GL_PC_CFLAGS),' \
132 -e
's,@GLX_TLS@,$(GLX_TLS),' \
133 -e
's,@GL_LIB@,$(GL_LIB),'
138 osmesa_pcedit
= sed \
140 -e
's,@OSMESA_LIB@,$(OSMESA_LIB),' \
141 -e
's,@OSMESA_PC_REQ@,$(OSMESA_PC_REQ),' \
142 -e
's,@OSMESA_PC_LIB_PRIV@,$(OSMESA_PC_LIB_PRIV),'
144 osmesa.
pc: osmesa.
pc.in
145 $(osmesa_pcedit
) $< > $@
148 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_INC_DIR
)/GL
149 $(INSTALL
) -m
644 $(TOP
)/include/GL
/*.h \
150 $(DESTDIR
)$(INSTALL_INC_DIR
)/GL
152 install-libgl
: default gl.
pc install-headers
153 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_LIB_DIR
)
154 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_LIB_DIR
)/pkgconfig
155 $(MINSTALL
) $(TOP
)/$(LIB_DIR
)/$(GL_LIB_GLOB
) \
156 $(DESTDIR
)$(INSTALL_LIB_DIR
)
157 $(INSTALL
) -m
644 gl.
pc $(DESTDIR
)$(INSTALL_LIB_DIR
)/pkgconfig
159 install-osmesa
: default osmesa.
pc
160 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_LIB_DIR
)
161 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_LIB_DIR
)/pkgconfig
162 $(MINSTALL
) $(TOP
)/$(LIB_DIR
)/$(OSMESA_LIB_GLOB
) \
163 $(DESTDIR
)$(INSTALL_LIB_DIR
)
164 $(INSTALL
) -m
644 osmesa.
pc $(DESTDIR
)$(INSTALL_LIB_DIR
)/pkgconfig
167 cd drivers
/dri
&& $(MAKE
) install
173 etags
`find . -name \*.[ch]` $(TOP
)/include/GL
/*.h
178 -rm -f depend depend.bak libmesa.a libmesagallium.a
181 -@cd drivers
/dri
&& $(MAKE
) clean
182 -@cd drivers
/x11
&& $(MAKE
) clean
183 -@cd drivers
/osmesa
&& $(MAKE
) clean
184 -@cd x86
&& $(MAKE
) clean
185 -@cd x86-64
&& $(MAKE
) clean