Makefile revision de96d063b1eba9137d96074c9434aafe858d3271
1de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonTOP = ../../..
2ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
3de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestoninclude $(TOP)/configs/current
4ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
5de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston#CC=gcc
6de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston#GL_CFLAGS=-Wall -ggdb3 -Os -DPTHREADS -D_REENTRANT $(RC_CFLAGS) $(CFLAGS)
7de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston#GL_LDFLAGS=-L$(INSTALL_DIR)/lib -L$(X11_DIR)/lib $(LDFLAGS) -Wl,-single_module
8ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
9de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonTCLSH=tclsh8.5
10ad503c41557606d15b0420c824369456f6d20a8fJeremy HuddlestonMKDIR=mkdir
11ad503c41557606d15b0420c824369456f6d20a8fJeremy HuddlestonINSTALL=install
12ad503c41557606d15b0420c824369456f6d20a8fJeremy HuddlestonLN=ln
13ad503c41557606d15b0420c824369456f6d20a8fJeremy HuddlestonRM=rm
14ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
15de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston#INCLUDE=-I. -Iinclude -I.. -DGLX_ALIAS_UNSUPPORTED -I$(INSTALL_DIR)/include -I$(X11_DIR)/include
16de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
17de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston#COMPILE=$(CC) $(INCLUDE) $(GL_CFLAGS) -c
18ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
19ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston#The directory with the final binaries.
20ad503c41557606d15b0420c824369456f6d20a8fJeremy HuddlestonBUILD_DIR=builds
21ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
22de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestonall: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
23de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
24de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonSOURCES = \
25de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_cgl.c \
26de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_glx.c \
27de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_glx_context.c \
28de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_glx_drawable.c \
29de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_glx_pbuffer.c \
30de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_glx_pixmap.c \
31de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_glx_surface.c \
32de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_visual.c \
33de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_xgl_api.c \
34de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_xgl_api_read.c \
35de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_xgl_api_stereo.c \
36de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	apple_xgl_api_viewport.c \
37de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	appledri.c \
38de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../clientattrib.c \
39de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../compsize.c \
40de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../glcontextmodes.c \
41de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	glx_empty.c \
42de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	glx_error.c \
43de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../glx_pbuffer.c \
44de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../glx_query.c \
45de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../glxcmds.c \
46de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../glxcurrent.c \
47de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../glxext.c \
48de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../glxextensions.c \
49de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	glxreply.c \
50de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../pixel.c \
51de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	../xfont.c
52de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
53de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestoninclude $(TOP)/src/mesa/sources.mak
54de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
55de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonLDFLAGS += -lXplugin -framework ApplicationServices -framework CoreFoundation
56de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
57de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonMESA_GLAPI_ASM_SOURCES = $(addprefix $(TOP)/src/mesa/, $(GLAPI_ASM_SOURCES))
58de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonMESA_GLAPI_SOURCES = $(addprefix $(TOP)/src/mesa/, $(GLAPI_SOURCES))
59de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonMESA_GLAPI_OBJECTS = $(addprefix $(TOP)/src/mesa/, $(GLAPI_OBJECTS))
60de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
61de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonOBJECTS = $(SOURCES:.c=.o) # $(MESA_GLAPI_OBJECTS)
62de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
63de96d063b1eba9137d96074c9434aafe858d3271Jeremy HuddlestonINCLUDES = -I. -Iinclude -I..\
64de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-I$(TOP)/include \
65de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-I$(TOP)/include/GL/internal \
66de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-I$(TOP)/src/mesa \
67de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-I$(TOP)/src/mesa/glapi \
68de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(LIBDRM_CFLAGS) \
69de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(DRI2PROTO_CFLAGS) \
70de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(X11_INCLUDES)
71de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
72de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston##### RULES #####
73de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
74de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston$(OBJECTS) : include/GL/gl.h apple_xgl_api.h
75de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
76de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestonapple_xgl_api.c : apple_xgl_api.h
77de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
78de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestonapple_xgl_api.h : gen_api_header.tcl  gen_api_library.tcl  gen_code.tcl  gen_defs.tcl  gen_exports.tcl  gen_funcs.tcl  gen_types.tcl
79ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston	$(TCLSH) gen_code.tcl
80ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
81ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddlestoninclude/GL/gl.h: include/GL/gl.h.template gen_gl_h.sh
82ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston	./gen_gl_h.sh include/GL/gl.h.template $@
83ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
84de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston.c.o:
85de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES) $< -o $@
86de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
87de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston.S.o:
88de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES)  $< -o $@
89de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
90de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston##### TARGETS #####
91de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
92de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestondefault: depend $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
93de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
94de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston# Make libGL
95de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME):  $(OBJECTS) Makefile
96de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(MKLIB) -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
97de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston		-major 1 -minor 2 $(MKLIB_OPTIONS) \
98de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston		-install $(TOP)/$(LIB_DIR) -id $(INSTALL_LIB_DIR)/lib$(GL_LIB).1.dylib \
99de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston		$(GL_LIB_DEPS) $(OBJECTS)
100de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
101de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestondepend: $(SOURCES) $(MESA_GLAPI_SOURCES) $(MESA_GLAPI_ASM_SOURCES) Makefile
102de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	rm -f depend
103de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	touch depend
104de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) \
105de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston		$(MESA_GLAPI_SOURCES) $(MESA_GLAPI_ASM_SOURCES) 
106de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
107de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston# Emacs tags
108de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestontags:
109de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	etags `find . -name \*.[ch]` `find $(TOP)/include`
110de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
111ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddlestoninstall_headers: include/GL/gl.h
112ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston	$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL
113de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(INSTALL) -m 644 include/GL/gl.h $(DESTDIR)$(INSTALL_DIR)/include/GL
114ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
115de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddlestoninstall_libraries: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
116de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	$(MAKE) -C $(TOP)/src/mesa install-libgl
117ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
118ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddlestoninstall: install_headers install_libraries
119ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddleston
120de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston#%.c : ../%.c
121de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston#	ln -s $<
122de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
123de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston# Remove .o and backup files
124ad503c41557606d15b0420c824369456f6d20a8fJeremy Huddlestonclean:
125de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f *.o *.a *~
126de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f *.c~ *.h~
127de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f apple_xgl_api.h apple_xgl_api.c
128de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f *.dylib
129de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f include/GL/gl.h
130de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB)
131de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f *.o *~
132de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston	-rm -f depend depend.bak
133de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston
134de96d063b1eba9137d96074c9434aafe858d3271Jeremy Huddleston-include depend
135