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