summaryrefslogtreecommitdiff
path: root/src/Makefile.osx
blob: 3825756fddfba303e55ded0f128a47fa70f62c63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#
#	Ivy, C interface
#
#	Copyright (C) 1997-1999
#	Centre d'Etudes de la Navigation Aérienne
#
# 	Makefile for OS X
#
#	Authors: Marcellin Buisson <buisson@cena.fr>
#
#	$Id$
#
#	Please refer to file version.h for the
#	copyright notice regarding this software
#



MAJOR=3
MINOR=4

CC=gcc
CFLAGS = -g
OBJ = ivyloop.o timer.o ivysocket.o ivy.o 
GOBJ = ivyloop.o timer.o ivysocket.o givy.o
#GLUTOBJ = ivyglutloop.o ivysocket.o ivy.o
#TCLOBJ = ivytcl.o ivysocket.o givy.o
TARGETS = ivyprobe
# not yiet need Modified Glut ivyglutprobe

.c.o:
	$(CC) $(CFLAGS) -c $*.c

all: static-libs commands shared-libs

static-libs: libivy.a #libgivy.a libxtivy.a libgtkivy.a libtclivy.a 
# not yiet need Modified Glut libglutivy.a

shared-libs: libivy.$(MAJOR).$(MINOR).dylib #libivy.so.$(MAJOR).$(MINOR) #libgivy.so.$(MAJOR).$(MINOR)
# not yiet need Modified Glut libglutivy.so.$(MAJOR).$(MINOR)

commands: $(TARGETS)

givy.o: ivy.c
	$(CC) -DGNU_REGEXP -c $(CFLAGS) -o givy.o ivy.c

#ivyglutloop.o: ivyglutloop.c ivyglutloop.h
#	$(CC) -c $(CFLAGS) $(GLUTINC) -o ivyglutloop.o ivyglutloop.c

ivyprobe: ivyprobe.o libivy.a
	$(CC)  $(CFLAGS) -o ivyprobe ivyprobe.o -L. -livy

#ivyglutprobe.o : ivyprobe.c
#	$(CC)  $(CFLAGS) -c ivyprobe.c -o ivyglutprobe.o $(GLUTINC) -DGLUTMAINLOOP

#ivyglutprobe: ivyglutprobe.o libglutivy.a
#	$(CC) -o ivyglutprobe ivyglutprobe.o -L. $(GLUTLIB) -lglutivy -lglut -lGLU -lGL -lX11 -lXmu

libivy.a: $(OBJ)
	rm -f $@
#	ar q $@ $(OBJ)
	ar r $@ $(OBJ)
	ranlib $@

libgivy.a: $(GOBJ)
	rm -f $@
#	ar q $@ $(GOBJ)
	ar r $@ $(GOBJ)

#libglutivy.a: $(GLUTOBJ)
#	rm -f $@
#	ar cq $@ $(GLUTOBJ)

libivy.$(MAJOR).$(MINOR).dylib: $(OBJ)
	$(CC) -dynamiclib -o $@ $(OBJ) -lc

#libivy.so.$(MAJOR).$(MINOR): $(OBJ)
#	$(CC) -shared -Wl,-soname,libivy.so.$(MAJOR) -o $@ $(OBJ) -lc

#libgivy.so.$(MAJOR).$(MINOR): $(GOBJ)
#	$(CC) -shared -Wl,-soname,libgivy.so.$(MAJOR) -o $@ $(GOBJ) -lc

#libglutivy.so.$(MAJOR).$(MINOR): $(GTKOBJ)
#	$(CC) -shared -Wl,-soname,libglutivy.so.$(MAJOR) -o $@ \
#	$(GLUTOBJ) $(GLUTLIB) -lX11 -lc

clean:
	-rm -f $(TARGETS) *.o *.a *.so *.so.* *~

installlibs: static-libs shared-libs
	test -d $(PREFIX)/usr/lib || mkdirhier $(PREFIX)/usr/lib

	test -d $(PREFIX)/usr/include || mkdirhier $(PREFIX)/usr/include
	install -m644 libivy.a $(PREFIX)/usr/lib
	install -m644 libgivy.a $(PREFIX)/usr/lib
#	install -m644 libtclivy.a $(PREFIX)/usr/lib

	install -m644 libivy.$(MAJOR).$(MINOR).dylib $(PREFIX)/usr/lib
#	install -m644 libivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib
#	install -m644 libgivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib

	install -m644 *.h $(PREFIX)/usr/include

installliblinks: installlibs
	ln -sfh /usr/lib/libivy.$(MAJOR).$(MINOR).dylib $(PREFIX)/usr/lib/libivy.dylib
	ln -sfh /usr/lib/libivy.$(MAJOR).$(MINOR).dylib $(PREFIX)/usr/lib/libivy.$(MAJOR).dylib
	#ln -s /usr/lib/libtclivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libtclivy.so
	#ln -s /usr/lib/libivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libivy.so
	#ln -s /usr/lib/libivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libivy.so.$(MAJOR)
	ln -s /usr/lib/libgivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libgivy.so
	#ln -s /usr/lib/libgivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libgivy.so.$(MAJOR)
	

installbins: commands
	test -d $(PREFIX)/usr/bin || mkdirhier $(PREFIX)/usr/bin

	install -m755 ivyprobe $(PREFIX)/usr/bin
#	install -m755 ivyglutprobe $(PREFIX)/usr/X11R6/bin

installdocs:
	test -d $(PREFIX)/usr/doc/ivy-c || mkdirhier $(PREFIX)/usr/doc/ivy-c
	for f in `find  ../doc/*.html -type f -maxdepth 1`; do \
                install -m 644 $$f $(PREFIX)/usr/doc/ivy-c; \
        done
	test -d $(PREFIX)/usr/man/man1 || mkdirhier $(PREFIX)/usr/man/man1
	for f in `find  ../doc/*.1 -type f -maxdepth 1`; do \
                install -m 644 $$f $(PREFIX)/usr/man/man1; \
        done

install: installlibs installbins installliblinks installdocs

rpm::
	/usr/bin/rpmize