--- xglk/Makefile~ 2007-12-08 17:02:00.000000000 +0000 +++ xglk/Makefile 2007-12-08 17:01:50.000000000 +0000 @@ -1,5 +1,13 @@ # Unix Makefile for XGlk library +# Based on the original by Andrew Plotkin. Modified to create a shared +# library by Joe Mason. + +# XGlk 0.4.11 +MAJOR=0 +MINOR=4 +MICRO=11 + # This generates two files. One, of course, is libxglk.a -- the library # itself. The other is Make.xglk; this is a snippet of Makefile code # which locates the xglk library and associated libraries (such as @@ -8,6 +16,10 @@ # When you install xglk, you must put libxglk.a in the lib directory, # and glk.h, glkstart.h, and Make.xglk in the include directory. +GLKNAME = xglk +GLKINCLUDEDIR = /usr/include/glk +GLKLIBDIR = /usr/$(MULTILIB_LIBDIR)/glk + # If you get errors in xio.c about fd_set or FD_SET being # undefined, put "-DNEEDS_SELECT_H" in the SYSTEMFLAGS line, # as has been done for the RS6000. @@ -37,7 +49,7 @@ # definitions for SGI / Irix #SYSTEMFLAGS = -# definitions for Linux. _BSD_SOURCE may be necessary for struct timezone. +# definitions for Linux SYSTEMFLAGS = -D_BSD_SOURCE # -------------------- @@ -58,13 +70,16 @@ #XLIB = -L/usr/X11R6/lib -lX11 # for Red Hat Linux -XINCLUDE = -I/usr/local/include -I/usr/X11R6/include/X11 -XLIB = -L/usr/local/lib -L/usr/X11R6/lib -lX11 +#XINCLUDE = -I/usr/X11R6/include/X11 +#XLIB = -L/usr/X11R6/lib -lX11 # for SparcStation / Solaris #XINCLUDE = -I/usr/openwin/include #XLIB = -R/usr/openwin/lib -L/usr/openwin/lib/ -lX11 +XINCLUDE = +XLIB = -lX11 + # -------------------- # definitions for where the PNG and JPEG libs are. @@ -80,19 +95,21 @@ # definitions for the MikMod library. SDLINCLUDE = $(shell sdl-config --cflags) -SDLCFLAGS = \$$\(shell sdl-config --cflags\) -SDLLIB = \$$\(shell sdl-config --libs\) -lSDL_mixer +SDLCFLAGS = $(shell sdl-config --cflags) +SDLLIB = $(shell sdl-config --libs) -lSDL_mixer # -------------------- # Pick a C compiler. #CC = cc -CC = gcc +INSTALL = install -g 0 -o 0 -CFLAGS = -O -ansi $(PNGFLAG) $(JPEGFLAG) $(PNGINCLUDE) $(JPEGINCLUDE) $(SDLINCLUDE) -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-unused -Wbad-function-cast $(SYSTEMFLAGS) $(XINCLUDE) -LDFLAGS = +CFLAGS += -ansi -I$(GLKINCLUDEDIR) $(PNGFLAG) $(JPEGFLAG) $(PNGINCLUDE) $(SDLINCLUDE) $(JPEGINCLUDE) -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-unused -Wbad-function-cast $(SYSTEMFLAGS) $(XINCLUDE) LIBS = $(XLIB) $(PNGLIB) $(JPEGLIB) $(SDLLIB) $(SYSTEMLIBS) +GLKLIBSHARED = lib$(GLKNAME).la +GLKMAKEFILE = Make.$(GLKNAME) + OBJS = main.o xglk.o xglk_vars.o xglk_prefs.o xglk_loop.o xglk_init.o \ xglk_scrap.o xglk_msg.o xglk_key.o xglk_weggie.o xglk_pict.o \ xglk_res.o \ @@ -101,21 +118,27 @@ xg_schan.o \ gi_dispa.o gi_blorb.o -all: libxglk.a Make.xglk +all: $(GLKLIBSHARED) $(GLKMAKEFILE) -libxglk.a: $(OBJS) - ar r libxglk.a $(OBJS) - ranlib libxglk.a +%.o: %.c + libtool --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< -Make.xglk: - echo LINKLIBS = $(LIBDIRS) $(LIBS) > Make.xglk - echo GLKLIB = -lxglk >> Make.xglk +$(GLKLIBSHARED): $(OBJS) + libtool --mode=link $(CC) $(LDFLAGS) -rpath "$(GLKLIBDIR)" -version-number $(MAJOR):$(MINOR):$(MICRO) -o $@ $(OBJS:.o=.lo) $(LIBDIRS) $(LIBS) -$(OBJS): xglk.h xg_internal.h xglk_option.h glk.h gi_dispa.h gi_blorb.h +$(GLKMAKEFILE): + echo LINKLIBS = $(LIBDIRS) $(LIBS) > $(GLKMAKEFILE) + echo GLKLIB = -l$(GLKNAME) >> $(GLKMAKEFILE) + +$(OBJS): xglk.h xg_internal.h xglk_option.h xg_win_textgrid.o xg_window.o xglk_key.o: xg_win_textgrid.h xg_win_textbuf.o xg_window.o xglk_key.o: xg_win_textbuf.h -clean: - -rm -f *~ *.o libxglk.a Make.xglk +install: + $(INSTALL) -m 2775 -d "$(DESTDIR)$(GLKINCLUDEDIR)" + $(INSTALL) -m 0644 $(GLKMAKEFILE) "$(DESTDIR)$(GLKINCLUDEDIR)" + $(INSTALL) -m 2775 -d "$(DESTDIR)$(GLKLIBDIR)" + libtool --mode=install install $(GLKLIBSHARED) "$(DESTDIR)$(GLKLIBDIR)" +