ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/xyz2pov/src/Makefile
(Generate patch)

Comparing trunk/xyz2pov/src/Makefile (file contents):
Revision 61 by mmeineke, Thu Aug 1 21:12:33 2002 UTC vs.
Revision 638 by mmeineke, Fri Jul 18 15:17:15 2003 UTC

# Line 1 | Line 1
1 < CC=gcc
2 < BIN=$(HOME)/bin
3 < CFLAGS=-Wall
1 > #####################################################
2 > # Makefile for xyz2pov                              #
3 > #####################################################
4 > # You should not change anything here.              #
5 > #####################################################
6  
7 < all: $(BIN)/xyz2pov $(BIN)/pov2anim
7 > TOP=..
8  
9 < $(BIN)/pov2anim: pov2anim.o
8 <        $(CC) -o $(BIN)/pov2anim pov2anim.o -lm
9 > include $(TOP)/Make.conf
10  
11 < $(BIN)/xyz2pov: xyz2pov.o atom_parser.o pov_writer.o frameCount.o
11 <        $(CC) -o $(BIN)/xyz2pov xyz2pov.o atom_parser.o pov_writer.o frameCount.o -lm
11 > .SUFFIXES : .cpp .c .h .hpp $(O)
12  
13 < atom_parser.o: atom_parser.c atom_parser.h
13 > # First do compile-time flags:
14  
15 < pov_writer.o: pov_writer.c pov_writer.h atom_parser.h
15 > DECLARES= -DTYPES_PATH="$(ATOMTYPES_DIR)"
16  
17 < pov2anim.o: pov2anim.c
17 > # include paths starting with "." are all relative to the SUBDIRS!!!
18  
19 < frameCount.o: frameCount.h frameCount.c
19 > INCLUDES= -I..
20 > CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
21 > CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
22 > DEPFLAGS=$(CFLAGS_C) -I.
23  
24 < xyz2pov.o: pov_writer.h atom_parser.h xyz2pov.c
24 > XYZ2POV=xyz2pov$(EXE)
25 > POV2ANIM=pov2anim$(EXE)
26  
27 < clean:
28 <        rm *.o *~
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines