fixed bugs in windows context creation, which would result in some times
[miniglut] / Makefile
1 PREFIX = /usr/local
2
3 olib = miniglut.o
4 otest = test.o
5 alib = libminiglut.a
6 bin = test
7
8 CFLAGS = -pedantic -Wall -g
9
10 isx86 ?= $(shell uname -m | sed 's/x86_64/x86/; s/i.86/x86/')
11
12 sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/; s/IRIX.*/IRIX/')
13 ifeq ($(sys), mingw)
14         olib = miniglut.w32.o
15         otest = test.w32.o
16         alib = libminiglut-w32.a
17         bin = test.exe
18
19         LDFLAGS = -mconsole -lopengl32 -lgdi32 -lwinmm
20 else
21         ifeq ($(sys)-$(isx86), Linux-x86)
22                 LDFLAGS = -lX11 -lGL
23         else
24                 # for other UNIX or non-x86 where sys_ and trig functions are not
25                 # implemented, just use libc
26                 CFLAGS += -DMINIGLUT_USE_LIBC
27                 LDFLAGS = -lX11 -lGL -lm
28                 ifeq ($(sys), IRIX)
29                         CC = gcc
30                 endif
31         endif
32 endif
33
34 $(bin): $(otest) $(alib)
35         $(CC) -o $@ $(otest) $(alib) $(LDFLAGS)
36
37 $(alib): $(olib)
38         $(AR) rcs $@ $(olib)
39
40 %.w32.o: %.c
41         $(CC) -o $@ $(CFLAGS) -c $<
42
43 .PHONY: clean
44 clean:
45         rm -f $(alib) $(olib) $(otest) $(bin)
46
47 .PHONY: install
48 install: $(alib)
49         mkdir -p $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
50         cp miniglut.h $(DESTDIR)$(PREFIX)/include/miniglut.h
51         cp $(alib) $(DESTDIR)$(PREFIX)/lib/libminiglut.a
52
53 .PHONY: uninstall
54 uninstall:
55         rm -f $(DESTDIR)$(PREFIX)/include/miniglut.h
56         rm -f $(DESTDIR)$(PREFIX)/lib/libminiglut.a
57
58 .PHONY: cross
59 cross:
60         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw
61
62 .PHONY: cross-clean
63 cross-clean:
64         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw clean