File: Makefile

package info (click to toggle)
vdslib 0.9-6.1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 312 kB
  • ctags: 402
  • sloc: ansic: 2,902; makefile: 128; lex: 25
file content (133 lines) | stat: -rw-r--r-- 4,382 bytes parent folder | download | duplicates (2)
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
##
## Makefile for the view-dependent simplification package.
##
## Copyright 1999 The University of Virginia.  All Rights Reserved.  Disclaimer
## and copyright notice are given in full below and apply to this entire file.
##

## Set DBGOPT to -g, -O, etc.  Include -DVDS_DEBUGPRINT for verbose operation.
## Note that assertions are suppressed when VDS_DEBUGPRINT is not defined
DBGOPT = -g -DVDS_DEBUGPRINT
# DBGOPT = -Ofast=ip30
# DBGOPT = -O2

## Set these to the directories where binaries, libraries, and include files go
INST_BIN_DIR = $(DESTDIR)/usr/bin
INST_LIB_DIR = $(DESTDIR)/usr/lib
INST_INC_DIR = $(DESTDIR)/usr/include

## Edit the CC, CFLAGS, AR, and RANLIB compilation variables for your own
## system and preferences.
CC = cc
CFLAGS = ${DBGOPT}
AR = ar -cr
RANLIB = touch
DOC = doc++

##
## Set GLINC and GLLIB if necessary to specify where OpenGL include files 
## and libraries can be found (only needed for libstdvds.a)
##
GLINC = /usr/X11R6/include
GLLIB = /usr/X11R6/lib

##
## You shouldn't typically need to modify anything below this point.
##

COREOBJS 	= build.o dynamic.o render.o util.o file.o 
STDOBJS		= stdvds.o stdfold.o stdvis.o stdrender.o
ALLOBJS 	= $(COREOBJS) $(STDOBJS) 
HEADERS		= vds.h vdsprivate.h path.h vector.h stdvds.h
ALLSRCS		= $(ALLOBJS:.o=.c) ${HEADERS}

.c.o: 
	${CC} ${CFLAGS} -I${GLINC} -c $*.c

default: libvds.a libstdvds.a

all : libvds.a libstdvds.a

libvds.a : $(COREOBJS)
	$(AR) libvds.a $(COREOBJS)
	$(RANLIB) libvds.a

libstdvds.a : $(STDOBJS) 
	$(AR) libstdvds.a $(STDOBJS) 
	$(RANLIB) libstdvds.a

clean :
	rm -f $(ALLOBJS)
	rm -f libvds.a libstdvds.a 

clobber: clean

doc: $(ALLSRCS) doc.dxx basics.dxx
	# Run the doc++ package to extract documentation from the source:
	$(DOC) -H -B /home/luebke/public_html/copyright.html -d html doc.dxx

$(ALLOBJS): $(HEADERS)

## Rule for installing binaries and header files.  Replace the directories
## (above) with whatever is appropriate for your site
install: all 
	@ echo "Installing VDSlib compiled with $(DBGOPT)"
	cp libvds.a libstdvds.a $(INST_LIB_DIR)
	cp vds.h stdvds.h $(INST_INC_DIR)
#	@ echo "Compiling clean version of polyview"
#	cd polyview; make clobber polyview
	@ echo "Installing polyview binary to $(INST_BIN_DIR)"
	cp polyview/polyview $(INST_BIN_DIR)
	@ echo "Done. Don't forget to recompile any apps that depend on VDSlib"

## Rules for publishing the vdslib to a web page.  Users of the 
## library shouldn't need to worry about this.
VERSION = 0.9
PUBDIR = /var/ftp/pub/vdslib
DOCDIR = /home/luebke/public_html/vdslib/vdsdoc
publish: doc clean
	@ echo "Publishing up-to-date documentation on web site"
	cp -r html/* $(DOCDIR)
	@ echo "Cleaning polyview directory"
	cd polyview; make clobber
	rm -rf vdslib$(VERSION)
	mkdir vdslib$(VERSION)
	cp $(ALLSRCS) Makefile vdslib$(VERSION)
	cp -r polyview vdslib$(VERSION)
	tar cf vdslib.tar vdslib$(VERSION)
	rm -rf vdslib$(VERSION)
	gzip vdslib.tar
	mv vdslib.tar.gz $(PUBDIR)

##########################################################################
# 
#   Copyright 1999 The University of Virginia.
#   All Rights Reserved.
#
#   Permission to use, copy, modify and distribute this software and its
#   documentation without fee, and without a written agreement, is
#   hereby granted, provided that the above copyright notice and the
#   complete text of this comment appear in all copies, and provided that
#   the University of Virginia and the original authors are credited in
#   any publications arising from the use of this software.
# 
#   IN NO EVENT SHALL THE UNIVERSITY OF VIRGINIA
#   OR THE AUTHOR OF THIS SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT,
#   INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
#   LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
#   DOCUMENTATION, EVEN IF THE UNIVERSITY OF VIRGINIA AND/OR THE
#   AUTHOR OF THIS SOFTWARE HAVE BEEN ADVISED OF THE POSSIBILITY OF 
#   SUCH DAMAGES.
# 
#   The author of the vdslib software library may be contacted at:
# 
#   US Mail:             Dr. David Patrick Luebke
#                        Department of Computer Science
#                        Thornton Hall, University of Virginia
# 		       Charlottesville, VA 22903
# 
#   Phone:               (804)924-1021
# 
#   EMail:               luebke@cs.virginia.edu
# 
##########################################################################