1c041511dScube# Makefile for GLUT
2c041511dScube#
3c041511dScube# NOTICE:  The OpenGL Utility Toolkit (GLUT) distribution contains source
4c041511dScube# code published in a book titled "Programming OpenGL for the X Window
5c041511dScube# System" (ISBN: 0-201-48359-9) published by Addison-Wesley.  The
6c041511dScube# programs and associated files contained in the distribution were
7c041511dScube# developed by Mark J. Kilgard and are Copyright 1994, 1995, 1996 by Mark
8c041511dScube# J. Kilgard (unless otherwise noted).  The programs are not in the
9c041511dScube# public domain, but they are freely distributable without licensing
10c041511dScube# fees.  These programs are provided without guarantee or warrantee
11c041511dScube# expressed or implied.
12c041511dScube#
13c041511dScube# GLUT source included with Mesa with permission from Mark Kilgard.
14c041511dScube
15c041511dScube
16c041511dScubeTOP = ../../..
17c041511dScube
18c041511dScubeinclude $(TOP)/configs/current
19c041511dScube
20c041511dScube
21c041511dScube##### MACROS #####
22c041511dScube
23c041511dScubeGLUT_MAJOR = 3
24c041511dScubeGLUT_MINOR = 7
25c041511dScubeGLUT_TINY = 1
26c041511dScube
27c041511dScubeSOURCES = \
28c041511dScube	glut_8x13.c \
29c041511dScube	glut_9x15.c \
30c041511dScube	glut_bitmap.c \
31c041511dScube	glut_bwidth.c \
32c041511dScube	glut_cindex.c \
33c041511dScube	glut_cmap.c \
34c041511dScube	glut_cursor.c \
35c041511dScube	glut_dials.c \
36c041511dScube	glut_dstr.c \
37c041511dScube	glut_event.c \
38c041511dScube	glut_ext.c \
39c041511dScube	glut_fcb.c \
40c041511dScube	glut_fullscrn.c \
41c041511dScube	glut_gamemode.c \
42c041511dScube	glut_get.c \
43c041511dScube	glut_glxext.c \
44c041511dScube	glut_hel10.c \
45c041511dScube	glut_hel12.c \
46c041511dScube	glut_hel18.c \
47c041511dScube	glut_init.c \
48c041511dScube	glut_input.c \
49c041511dScube	glut_joy.c \
50c041511dScube	glut_key.c \
51c041511dScube	glut_keyctrl.c \
52c041511dScube	glut_keyup.c \
53c041511dScube	glut_menu.c \
54c041511dScube	glut_menu2.c \
55c041511dScube	glut_mesa.c \
56c041511dScube	glut_modifier.c \
57c041511dScube	glut_mroman.c \
58c041511dScube	glut_overlay.c \
59b3dfa806Smrg	glut_ppm.c \
60c041511dScube	glut_roman.c \
61c041511dScube	glut_shapes.c \
62c041511dScube	glut_space.c \
63c041511dScube	glut_stroke.c \
64c041511dScube	glut_swap.c \
65c041511dScube	glut_swidth.c \
66c041511dScube	glut_tablet.c \
67c041511dScube	glut_teapot.c \
68c041511dScube	glut_tr10.c \
69c041511dScube	glut_tr24.c \
70c041511dScube	glut_util.c \
71c041511dScube	glut_vidresize.c \
72c041511dScube	glut_warp.c \
73c041511dScube	glut_win.c \
74c041511dScube	glut_winmisc.c \
75c041511dScube	layerutil.c
76c041511dScube
77c041511dScube
78c041511dScubeOBJECTS = $(SOURCES:.c=.o)
79c041511dScube
80c041511dScube
81c041511dScube##### RULES #####
82c041511dScube
83c041511dScube.c.o:
84c041511dScube	$(CC) -c -I$(TOP)/include $(X11_INCLUDES) $(CFLAGS) $(GLUT_CFLAGS) $<
85c041511dScube
86c041511dScube
87c041511dScube
88c041511dScube##### TARGETS #####
89c041511dScube
90c041511dScubedefault: $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
91c041511dScube
92c041511dScube
93c041511dScube# Make the library
94c041511dScube$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS)
95b3dfa806Smrg	$(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
96c041511dScube		-major $(GLUT_MAJOR) -minor $(GLUT_MINOR) -patch $(GLUT_TINY) \
97c041511dScube		$(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \
98b3dfa806Smrg		-id $(INSTALL_LIB_DIR)/lib$(GLUT_LIB).$(GLUT_MAJOR).dylib \
99c041511dScube		$(GLUT_LIB_DEPS) $(OBJECTS)
100c041511dScube
101c041511dScube
102c041511dScube# glut pkgconfig file
103c041511dScubepcedit = sed \
104c041511dScube	-e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
105b3dfa806Smrg	-e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
106b3dfa806Smrg	-e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
107b3dfa806Smrg	-e 's,@VERSION@,$(GLUT_MAJOR).$(GLUT_MINOR).$(GLUT_TINY),' \
108b3dfa806Smrg	-e 's,@GLUT_PC_REQ_PRIV@,$(GLUT_PC_REQ_PRIV),' \
109b3dfa806Smrg	-e 's,@GLUT_PC_LIB_PRIV@,$(GLUT_PC_LIB_PRIV),' \
1102590f9beSmrg	-e 's,@GLUT_PC_CFLAGS@,$(GLUT_PC_CFLAGS),' \
1112590f9beSmrg	-e 's,@GLUT_LIB@,$(GLUT_LIB),'
112c041511dScubeglut.pc: glut.pc.in
113c041511dScube	$(pcedit) $< > $@
114c041511dScube
115c041511dScubeinstall: glut.pc
116b3dfa806Smrg	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL
117b3dfa806Smrg	$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
118b3dfa806Smrg	$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
119b3dfa806Smrg	$(INSTALL) -m 644 $(TOP)/include/GL/glut.h $(DESTDIR)$(INSTALL_INC_DIR)/GL
1202590f9beSmrg	$(MINSTALL) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_GLOB) $(DESTDIR)$(INSTALL_LIB_DIR)
121b3dfa806Smrg	$(INSTALL) -m 644 glut.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
122c041511dScube
123c041511dScube
124c041511dScubeclean:
125c041511dScube	-rm -f *.o *~
126c041511dScube	-rm -f *.lo
127c041511dScube	-rm -f *.la
128b3dfa806Smrg	-rm -f *.pc
129c041511dScube	-rm -rf .libs
130b3dfa806Smrg	-rm -f depend depend.bak
131c041511dScube
132c041511dScube
133c041511dScubedepend: $(SOURCES)
134c041511dScube	@ echo "running $(MKDEP)"
1352590f9beSmrg	@ rm -f depend
136c041511dScube	@ touch depend
137c041511dScube	@ $(MKDEP) $(MKDEP_OPTIONS) -I$(TOP)/include $(SOURCES) \
138b3dfa806Smrg		$(X11_INCLUDES) > /dev/null 
139c041511dScube
140c041511dScubeinclude depend
141