#! smake # # Copyright (c) Mark J. Kilgard, 1995, 1998. # include $(ROOT)/usr/include/make/commondefs # NOTE: In my GLUT development tree, many of the C source files for # GLUT are generated. For this reason, "make full_clobber" will remove # these generated C files, while "make clobber" will not. TOP = ../.. TARGETS = libglut.a LN = ln -s MV = mv RM = -rm -rf HDRS = glutint.h glutstroke.h layerutil.h glutbitmap.h SRCS = \ glut_bitmap.c \ glut_bwidth.c \ glut_cindex.c \ glut_cmap.c \ glut_cursor.c \ glut_dials.c \ glut_dstr.c \ glut_event.c \ glut_ext.c \ glut_fbc.c \ glut_fullscrn.c \ glut_gamemode.c \ glut_get.c \ glut_glxext.c \ glut_init.c \ glut_input.c \ glut_joy.c \ glut_key.c \ glut_keyctrl.c \ glut_keyup.c \ glut_menu.c \ glut_menu2.c \ glut_mesa.c \ glut_modifier.c \ glut_overlay.c \ glut_shapes.c \ glut_space.c \ glut_stroke.c \ glut_swap.c \ glut_swidth.c \ glut_tablet.c \ glut_teapot.c \ glut_util.c \ glut_vidresize.c \ glut_warp.c \ glut_win.c \ glut_winmisc.c \ layerutil.c SRCSSEMIGENS = \ glut_8x13.c \ glut_9x15.c \ glut_hel10.c \ glut_hel12.c \ glut_hel18.c \ glut_mroman.c \ glut_roman.c \ glut_tr10.c \ glut_tr24.c OBJS = $(SRCS:.c=.o) $(SRCSSEMIGENS:.c=.o) OTHERGENS = y.tab.c y.tab.h strokegen.c strokegen.h strokelex.c OTHERSRCS = strokegen.y strokelex.l stroke.h FONTS = Roman.stroke MonoRoman.stroke # Uncomment the LCDEFS line below if you want to build a version of # libglut.a that avoids using the SGI "fast atoms" optimization # introduced in IRIX 6.3. This optimization eliminates serveral X server # round-trips. If you are building libglut.a on an IRIX 6.3 or later # machine and want a chance (no guarantees) that GLUT executables built # against your libglut.a will work on IRIX 6.2 machines, uncomment out # the LCDEFS line below. Otherwise, you'll get a run-time message about # "attempted access to unresolvable symbol in XXX: _XSGIFastInternAtom" #LCDEFS = -DNO_FAST_ATOMS LCOPTS = -I$(TOP)/include -fullwarn LWOFF = ,813,852,827,826 LDIRT = *~ $(OTHERGENS) strokegen *.bak hardcopy glutsrc.ps capturexfont *.pure dstr dstr.c *.gen default: $(TARGETS) sinclude ObjectType.mk $(OBJS) : $(HDRS) libglut.a : $(OBJS) $(RM) $@ $(AR) crl $@ $(OBJS) .ORDER : strokegen.h strokegen.c strokegen.h strokegen.c : strokegen.y $(YACC) -d strokegen.y $(MV) y.tab.c strokegen.c $(MV) y.tab.h strokegen.h # avoid warnings when compiling lex generated code strokegen.o : strokegen.c $(CC) $(CFLAGS) -woff 726,825,635,818,819,820,824,831,835,822,821,1167,1498,1116,1136,1174,1196,803 -c -MDupdate Makedepend strokegen.c strokelex.c : strokelex.l $(LEX) strokelex.l $(MV) lex.yy.c strokelex.c # avoid warnings when compiling lex generated code strokelex.o : strokelex.c $(CC) $(CFLAGS) -woff 831,825,817,835,702,819,635,824,822,1167,1498,1110,1196,1174,803 -c -MDupdate Makedepend strokelex.c strokegen : strokegen.o strokelex.o $(CC) -o $@ $(LDFLAGS) strokegen.o strokelex.o -ll capturexfont : capturexfont.o $(CC) -o $@ $(LDFLAGS) capturexfont.o -lX11 # glut_roman.c and glut_mroman.c are now checked in, but here are rules to generate them glut_roman.c.gen : Roman.stroke strokegen ./strokegen -s glutStrokeRoman < Roman.stroke > $@ glut_mroman.c.gen : MonoRoman.stroke strokegen ./strokegen -s glutStrokeMonoRoman < MonoRoman.stroke > $@ glutsrc.ps : $(SRCS) $(RM) hardcopy mkdir -p hardcopy for i in $(SRCS) ;\ do \ grep -v CENTRY $$i | grep -v INDENT- > hardcopy/$$i; \ done cd hardcopy ; enscript -p ../$@ -G -2r `echo $(SRCS) | fmt -1 | sort` $(RM) hardcopy # The bitmap files can be generated using capturexfont, but because # they require a connection to an X server and potentially different # X servers have different fonts, these generated files are part # of the GLUT distribution. 9_BY_15 = -misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1 8_BY_13 = -misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1 TR10 = -adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1 TR24 = -adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1 HEL10 = -adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1 HEL12 = -adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1 HEL18 = -adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1 semigens : capturexfont ./capturexfont $(9_BY_15) glutBitmap9By15 > glut_9x15.c.gen ./capturexfont $(8_BY_13) glutBitmap8By13 > glut_8x13.c.gen ./capturexfont $(TR10) glutBitmapTimesRoman10 > glut_tr10.c.gen ./capturexfont $(TR24) glutBitmapTimesRoman24 > glut_tr24.c.gen ./capturexfont $(HEL10) glutBitmapHelvetica10 > glut_hel10.c.gen ./capturexfont $(HEL12) glutBitmapHelvetica12 > glut_hel12.c.gen ./capturexfont $(HEL18) glutBitmapHelvetica18 > glut_hel18.c.gen # unused test rule for test building 16-bit font JIS = -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0 glut_jis.c : ./capturexfont $(JIS) glutBitmapJis > $@ sources: $(SRCS) symcheck: libglut.a -nm -Bo libglut.a | grep -v ' d ' | grep -v ' T glut' | grep -v ' D glut' | grep -v ' U ' | grep -v ' T __glut' | grep -v ' t ' | grep -v ' b ' | grep -v ' D __glut' | grep -v ' B __glut' dstr.c: glut_dstr.c ln -s glut_dstr.c $@ dstr: dstr.c glut_util.o glut_glxext.o $(RM) $@ $(CC) -g -o $@ $(CFLAGS) -DTEST dstr.c glut_util.o glut_glxext.o -lGLU -lGL -lXext -lX11 -lm ./glut.h : glut.h ./glutint.h : glutint.h ./glutstroke.h : glutstroke.h ./strokegen.h : strokegen.h ./stroke.h : stroke.h ./layerutil.h : layerutil.h strokelex.o: strokelex.c strokegen.h include $(COMMONRULES)