-src = miniglut.c test.c
-obj = $(src:.c=.o)
+PREFIX = /usr/local
+
+olib = miniglut.o
+otest = test.o
+alib = libminiglut.a
bin = test
CFLAGS = -pedantic -Wall -g
isx86 ?= $(shell uname -m | sed 's/x86_64/x86/; s/i.86/x86/')
-sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/')
+sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/; s/IRIX.*/IRIX/')
ifeq ($(sys), mingw)
- obj = $(src:.c=.w32.o)
+ olib = miniglut.w32.o
+ otest = test.w32.o
+ alib = libminiglut-w32.a
bin = test.exe
LDFLAGS = -mconsole -lopengl32 -lgdi32 -lwinmm
-else ifeq ($(sys)-$(isx86), Linux-x86)
- LDFLAGS = -lX11 -lGL
else
- # for other UNIX or non-x86 where sys_ and trig functions are not
- # implemented, just use libc
- CFLAGS += -DMINIGLUT_USE_LIBC
- LDFLAGS = -lX11 -lGL -lm
- ifeq ($(sys), IRIX)
- CC = gcc
+ ifeq ($(sys)-$(isx86), Linux-x86)
+ CFLAGS += -I/usr/X11R6/include
+ LDFLAGS = -L/usr/X11R6/lib -lX11 -lGL
+ else
+ # for other UNIX or non-x86 where sys_ and trig functions are not
+ # implemented, just use libc
+ CFLAGS += -DMINIGLUT_USE_LIBC
+ LDFLAGS = -lX11 -lGL -lm
+ ifeq ($(sys), IRIX)
+ CC = gcc
+ endif
endif
endif
-$(bin): $(obj)
- $(CC) -o $@ $(obj) $(LDFLAGS)
+$(bin): $(otest) $(alib)
+ $(CC) -o $@ $(otest) $(alib) $(LDFLAGS)
+
+$(alib): $(olib)
+ $(AR) rcs $@ $(olib)
%.w32.o: %.c
$(CC) -o $@ $(CFLAGS) -c $<
.PHONY: clean
clean:
- rm -f $(obj) $(bin)
+ rm -f $(alib) $(olib) $(otest) $(bin)
+
+.PHONY: install
+install: $(alib)
+ mkdir -p $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
+ cp miniglut.h $(DESTDIR)$(PREFIX)/include/miniglut.h
+ cp $(alib) $(DESTDIR)$(PREFIX)/lib/libminiglut.a
+
+.PHONY: uninstall
+uninstall:
+ rm -f $(DESTDIR)$(PREFIX)/include/miniglut.h
+ rm -f $(DESTDIR)$(PREFIX)/lib/libminiglut.a
.PHONY: cross
cross: