Makefile revision 2590f9be
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
16TOP = ../../..
17
18include $(TOP)/configs/current
19
20
21##### MACROS #####
22
23GLUT_MAJOR = 3
24GLUT_MINOR = 7
25GLUT_TINY = 1
26
27SOURCES = \
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
78OBJECTS = $(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
90default: $(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
103pcedit = 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	-e 's,@GLUT_LIB@,$(GLUT_LIB),'
112glut.pc: glut.pc.in
113	$(pcedit) $< > $@
114
115install: glut.pc
116	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL
117	$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
118	$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
119	$(INSTALL) -m 644 $(TOP)/include/GL/glut.h $(DESTDIR)$(INSTALL_INC_DIR)/GL
120	$(MINSTALL) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_GLOB) $(DESTDIR)$(INSTALL_LIB_DIR)
121	$(INSTALL) -m 644 glut.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
122
123
124clean:
125	-rm -f *.o *~
126	-rm -f *.lo
127	-rm -f *.la
128	-rm -f *.pc
129	-rm -rf .libs
130	-rm -f depend depend.bak
131
132
133depend: $(SOURCES)
134	@ echo "running $(MKDEP)"
135	@ rm -f depend
136	@ touch depend
137	@ $(MKDEP) $(MKDEP_OPTIONS) -I$(TOP)/include $(SOURCES) \
138		$(X11_INCLUDES) > /dev/null 
139
140include depend
141