4 include $(TOP
)/configs
/current
11 GL_TINY
= 0$(MESA_MAJOR
)0$(MESA_MINOR
)0$(MESA_TINY
)
17 $(CC
) -c
$(INCLUDE_DIRS
) $(CFLAGS
) $< -o
$@
20 $(CXX
) -c
$(INCLUDE_DIRS
) $(CXXFLAGS
) $< -o
$@
23 $(CC
) -c
$(INCLUDE_DIRS
) $(CFLAGS
) $< -o
$@
26 # Figure out what to make here
28 @for driver in
$(DRIVER_DIRS
) ; do \
30 x11
) $(MAKE
) stand-alone
;; \
31 dri
) $(MAKE
) linux-solo
;; \
32 osmesa
) $(MAKE
) osmesa-only
;; \
33 beos
) $(MAKE
) beos
;; \
34 directfb
) $(MAKE
) directfb
;; \
35 fbdev
) $(MAKE
) fbdev
;; \
36 *) echo
"$$driver is invalid in DRIVER_DIRS" >&2; exit
1;; \
41 ######################################################################
44 beos
: depend subdirs libmesa.a
45 cd drivers
/beos
; $(MAKE
)
48 ######################################################################
51 # Make archive of core object files
52 libmesa.a
: $(SOLO_OBJECTS
)
53 @
$(TOP
)/bin
/mklib
-o mesa
-static
$(SOLO_OBJECTS
);
54 @if
[ "${CONFIG_NAME}" = "beos" ] ; then \
58 linux-solo
: depend subdirs libmesa.a
59 cd drivers
/dri
; $(MAKE
)
62 #####################################################################
63 # Stand-alone Mesa libGL, no built-in drivers (DirectFB)
65 libgl-core
: $(CORE_OBJECTS
)
66 @
$(TOP
)/bin
/mklib
-o
$(GL_LIB
) -linker
'$(CC)' -ldflags '$(LDFLAGS)' \
67 -major
$(MESA_MAJOR
) -minor
$(MESA_MINOR
) -patch
$(MESA_TINY
) \
68 -install $(TOP
)/$(LIB_DIR
) $(MKLIB_OPTIONS
) $(CORE_OBJECTS
) \
71 directfb
: depend subdirs libgl-core
72 cd drivers
/directfb
; $(MAKE
)
75 #####################################################################
76 # fbdev Mesa driver (libGL.so)
78 fbdev
: $(CORE_OBJECTS
) $(FBDEV_DRIVER_OBJECTS
) $(COMMON_DRIVER_OBJECTS
)
79 @
$(TOP
)/bin
/mklib
-o
$(GL_LIB
) -linker
'$(CC)' -ldflags '$(LDFLAGS)' \
80 -major
$(MESA_MAJOR
) -minor
$(MESA_MINOR
) -patch
$(MESA_TINY
) \
81 -install $(TOP
)/$(LIB_DIR
) $(MKLIB_OPTIONS
) \
82 $(CORE_OBJECTS
) $(FBDEV_DRIVER_OBJECTS
) \
83 $(COMMON_DRIVER_OBJECTS
) $(GL_LIB_DEPS
)
86 ######################################################################
87 # Stand-alone Mesa libGL and libOSMesa
88 STAND_ALONE_DRIVER_SOURCES
= \
89 $(COMMON_DRIVER_SOURCES
) \
92 STAND_ALONE_DRIVER_OBJECTS
= $(STAND_ALONE_DRIVER_SOURCES
:.c
=.o
)
94 STAND_ALONE_OBJECTS
= \
96 $(STAND_ALONE_DRIVER_OBJECTS
)
98 # For libOSMesa16 or libOSMesa32 we link _all_ the objects into the library,
99 # not just the osmesa.o object (i.e. we don't have a libGL).
102 $(COMMON_DRIVER_OBJECTS
) \
103 $(OSMESA_DRIVER_OBJECTS
)
106 stand-alone
: depend subdirs
$(TOP
)/$(LIB_DIR
)/$(GL_LIB_NAME
)
108 osmesa-only
: depend subdirs
$(TOP
)/$(LIB_DIR
)/$(OSMESA_LIB_NAME
)
110 # Make the GL library
111 $(TOP
)/$(LIB_DIR
)/$(GL_LIB_NAME
): $(STAND_ALONE_OBJECTS
)
112 @
$(TOP
)/bin
/mklib
-o
$(GL_LIB
) -linker
'$(CC)' -ldflags '$(LDFLAGS)' \
113 -major
$(GL_MAJOR
) -minor
$(GL_MINOR
) -patch
$(GL_TINY
) \
114 -install $(TOP
)/$(LIB_DIR
) \
115 $(MKLIB_OPTIONS
) $(GL_LIB_DEPS
) $(STAND_ALONE_OBJECTS
)
117 # Make the OSMesa library
118 $(TOP
)/$(LIB_DIR
)/$(OSMESA_LIB_NAME
): $(OSMESA_DRIVER_OBJECTS
) $(OSMESA16_OBJECTS
)
119 @ if
[ "${DRIVER_DIRS}" = "osmesa" ] ; then \
120 $(TOP
)/bin
/mklib
-o
$(OSMESA_LIB
) -linker
'$(CC)' \
121 -ldflags '$(LDFLAGS)' -major
$(MESA_MAJOR
) \
122 -minor
$(MESA_MINOR
) -patch
$(MESA_TINY
) \
123 -install $(TOP
)/$(LIB_DIR
) $(MKLIB_OPTIONS
) \
124 $(OSMESA_LIB_DEPS
) $(OSMESA16_OBJECTS
) ; \
126 $(TOP
)/bin
/mklib
-o
$(OSMESA_LIB
) -linker
'$(CC)' \
127 -ldflags '$(LDFLAGS)' -major
$(MESA_MAJOR
) \
128 -minor
$(MESA_MINOR
) -patch
$(GL_TINY
) \
129 -install $(TOP
)/$(LIB_DIR
) $(MKLIB_OPTIONS
) \
130 $(OSMESA_LIB_DEPS
) $(OSMESA_DRIVER_OBJECTS
) ; \
134 ######################################################################
135 # libGL pkg-config file
137 -e
's,@INSTALL_DIR@,$(INSTALL_DIR),' \
138 -e
's,@LIB_DIR@,$(LIB_DIR),' \
139 -e
's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),'
143 ######################################################################
146 depend
: $(ALL_SOURCES
)
147 @ echo
"running $(MKDEP)"
149 @
$(MKDEP
) $(MKDEP_OPTIONS
) $(DEFINES
) $(INCLUDE_DIRS
) $(ALL_SOURCES
) \
150 > /dev
/null
2>/dev
/null
154 @ if echo
"$(ASM_FLAGS)" | grep
-q USE_X86_ASM
; then \
155 (cd x86
; $(MAKE
)) ; \
157 @ if echo
"$(ASM_FLAGS)" | grep
-q USE_X86_64_ASM
; then \
158 (cd x86
; $(MAKE
)) ; \
159 (cd x86-64
; $(MAKE
)) ; \
163 install: default gl.
pc
164 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_DIR
)/include/GL
165 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_DIR
)/$(LIB_DIR
)
166 $(INSTALL
) -d
$(DESTDIR
)$(INSTALL_DIR
)/$(LIB_DIR
)/pkgconfig
167 $(INSTALL
) -m
644 $(TOP
)/include/GL
/*.h
$(DESTDIR
)$(INSTALL_DIR
)/include/GL
168 @if
[ -e
$(TOP
)/$(LIB_DIR
)/$(GL_LIB_NAME
) ]; then \
169 $(INSTALL
) $(TOP
)/$(LIB_DIR
)/libGL
* $(DESTDIR
)$(INSTALL_DIR
)/$(LIB_DIR
); \
171 $(INSTALL
) -m
644 gl.
pc $(DESTDIR
)$(INSTALL_DIR
)/$(LIB_DIR
)/pkgconfig
172 @if
[ -e
$(TOP
)/$(LIB_DIR
)/$(OSMESA_LIB_NAME
) ]; then \
173 $(INSTALL
) $(TOP
)/$(LIB_DIR
)/libOSMesa
* $(DESTDIR
)$(INSTALL_DIR
)/$(LIB_DIR
); \
175 @for target in
$(DRIVER_DIRS
); do \
177 dri
) cd drivers
/dri
; $(MAKE
) install ;; \
181 ## NOT INSTALLED YET:
182 ## $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES
183 ## $(INSTALL) -m 644 include/GLES/*.h $(DESTDIR)$(INSTALL_DIR)/include/GLES
188 etags
`find . -name \*.[ch]` $(TOP
)/include/GL
/*.h
193 -rm -f depend depend.bak libmesa.a
195 (cd drivers
/dri
&& $(MAKE
) clean)
196 (cd x86
&& $(MAKE
) clean)
197 (cd x86-64
&& $(MAKE
) clean)