ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/xyz2pov/src/Makefile
Revision: 638
Committed: Fri Jul 18 15:17:15 2003 UTC (20 years, 11 months ago) by mmeineke
File size: 3753 byte(s)
Log Message:
fixed the AtomType file not found bug.

File Contents

# Content
1 #####################################################
2 # Makefile for xyz2pov #
3 #####################################################
4 # You should not change anything here. #
5 #####################################################
6
7 TOP=..
8
9 include $(TOP)/Make.conf
10
11 .SUFFIXES : .cpp .c .h .hpp $(O)
12
13 # First do compile-time flags:
14
15 DECLARES= -DTYPES_PATH="$(ATOMTYPES_DIR)"
16
17 # include paths starting with "." are all relative to the SUBDIRS!!!
18
19 INCLUDES= -I..
20 CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
21 CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
22 DEPFLAGS=$(CFLAGS_C) -I.
23
24 XYZ2POV=xyz2pov$(EXE)
25 POV2ANIM=pov2anim$(EXE)
26
27 POVTOOLS_LIB = libpovtools.a
28
29 XYZ2POV_LDFLAGS= -L.
30 XYZ2POV_LDADD= -lpovtools -lm
31
32 POV2ANIM_LDFLAGS= -L.
33 POV2ANIM_LDADD= -lpovtools -lm
34
35 PREFS=-DXYZ2POV_HOME="$(XYZ2POV_HOME)"
36
37 # Then do the compile rules:
38
39 SRCPATH=$(PWD)
40
41 obj/%.o: %.cpp
42 cd obj; $(CXX) $(CXXFLAGS) -c $(SRCPATH)/$<
43
44 obj/%.o: %.c
45 cd obj; $(CC) $(CFLAGS) -c $(SRCPATH)/$<
46
47 # Then list what we have to compile
48
49 LIBC_FILES = \
50 $(DIR)/atom_parser.c \
51 $(DIR)/frameCount.c \
52 $(DIR)/pov_writer.c
53
54 LIBCXX_FILES =
55
56 XYZC_FILES = \
57 $(DIR)/xyz2pov.c
58
59 XYZCXX_FILES =
60
61 ANIMC_FILES = \
62 $(DIR)/pov2anim.c
63
64 ANIMCXX_FILES =
65
66 DIR:=.
67 LIBC_SRCS := $(LIBC_FILES)
68 LIBCXX_SRCS := $(LIBCXX_FILES)
69 LIB_SRCS := $(LIBC_SRCS) $(LIBCXX_SRCS)
70
71 DIR:=.
72 XYZC_SRCS := $(XYZC_FILES)
73 XYZCXX_SRCS := $(XYZCXX_FILES)
74 XYZ_SRCS := $(XYZC_SRCS) $(XYZCXX_SRCS)
75
76 DIR:=.
77 ANIMC_SRCS := $(ANIMC_FILES)
78 ANIMCXX_SRCS := $(ANIMCXX_FILES)
79 ANIM_SRCS := $(ANIMC_SRCS) $(ANIMCXX_SRCS)
80
81 SRCS := $(LIB_SRCS) $(XYZ_SRCS) $(ANIM_SRCS)
82
83 DIR:=obj
84 LIBC_OBJS := $(LIBC_FILES:.c=.o)
85 LIBCXX_OBJS := $(LIBCXX_FILES:.cpp=.o)
86 LIB_OBJS := $(LIBC_OBJS) $(LIBCXX_OBJS)
87
88 DIR:=obj
89 XYZC_OBJS := $(XYZC_FILES:.c=.o)
90 XYZCXX_OBJS := $(XYZCXX_FILES:.cpp=.o)
91 XYZ_OBJS := $(XYZC_OBJS) $(XYZCXX_OBJS)
92
93 DIR:=obj
94 ANIMC_OBJS := $(ANIMC_FILES:.c=.o)
95 ANIMCXX_OBJS := $(ANIMCXX_FILES:.cpp=.o)
96 ANIM_OBJS := $(ANIMC_OBJS) $(ANIMCXX_OBJS)
97
98 LIBSUBDIRS = obj
99
100 all : Make.dep $(POVTOOLS_LIB) $(POV2ANIM) $(XYZ2POV)
101
102 depend: Make.dep
103
104 libpovtools.a: $(LIB_OBJS)
105 $(RM) $@
106 $(AR) cr $@ $(LIB_OBJS)
107 $(RANLIB) $@
108
109 xyz2pov$(EXE) : $(XYZ_OBJS) $(POVTOOLS_LIB)
110 $(CC) $(CFLAGS) $(XYZ_OBJS) -o $@ $(XYZ2POV_LDFLAGS) $(XYZ2POV_LDADD)
111
112 pov2anim$(EXE) : $(ANIM_OBJS) $(POVTOOLS_LIB)
113 $(CC) $(CFLAGS) $(ANIM_OBJS) -o $@ $(POV2ANIM_LDFLAGS) $(POV2ANIM_LDADD)
114
115 install : $(POV2ANIM) $(XYZ2POV)
116 $(MKINSTALLDIRS) $(XYZ2POV_HOME)/bin
117 $(INSTALL_PROGRAM) -s $(XYZ2POV) $(XYZ2POV_HOME)/bin/$(XYZ2POV)
118 $(INSTALL_PROGRAM) -s $(POV2ANIM) $(XYZ2POV_HOME)/bin/$(POV2ANIM)
119
120 tests : dummy
121
122 $(XYZ2POV_HOME)/bin/$(XYZ2POV) : $(XYZ2POV)
123 $(MAKE) install
124
125 $(XYZ2POV_HOME)/bin/$(POV2ANIM) : $(POV2ANIM)
126 $(MAKE) install
127
128 links : $(XYZ2POV_HOME)/bin/$(XYZ2POV) $(XYZ2POV_HOME)/bin/$(POV2ANIM)
129 $(MKINSTALLDIRS) $(PREFIX)/bin
130 cd $(PREFIX)/bin; $(RM) $(XYZ2POV); $(LN_S) $(XYZ2POV_HOME)/bin/$(XYZ2POV) $(XYZ2POV)
131 cd $(PREFIX)/bin; $(RM) $(POV2ANIM); $(LN_S) $(XYZ2POV_HOME)/bin/$(POV2ANIM) $(POV2ANIM)
132
133
134 # cleaning
135
136 .PHONY : clean
137
138 clean : dummy
139 for i in $(LIBSUBDIRS); do \
140 (cd $$i; $(RM) *.o) || exit 1; \
141 done
142 $(RM) $(POVTOOLS_LIB) $(XYZ2POV) $(ANIM2POV) *.o *~ Make.temp
143
144 distclean : dummy
145 for i in $(LIBSUBDIRS); do \
146 (cd $$i; $(RM) *.o) || exit 1; \
147 done
148 $(RM) $(POVTOOLS_LIB) $(XYZ2POV) $(ANIM2POV) *.o *~ Make.temp Make.dep
149
150 devclean : distclean
151
152 Make.dep : $(SRCS)
153 echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
154 $(CC) $(DEPFLAGS) -MM $(SRCS) \
155 | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
156 cat Make.temp | sed 's/^[0-9a-zA-Z]/obj\/&/' >> Make.dep
157 $(RM) Make.temp
158
159 tags : $(SRCS)
160 ctags $(SRCS)
161
162 dummy :
163
164 # DO NOT DELETE
165 include Make.dep