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 509 by mmeineke, Tue Apr 29 17:45:47 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 > obj/%.o: %.cpp
40 >        cd obj; $(CXX) $(CXXFLAGS) -c ../$<
41 >
42 > obj/%.o: %.c
43 >        cd obj; $(CC) $(CFLAGS) -c ../$<
44 >
45 > # Then list what we have to compile
46 >
47 > LIBC_FILES = \
48 >        $(DIR)/atom_parser.c \
49 >        $(DIR)/frameCount.c \
50 >        $(DIR)/pov_writer.c
51 >
52 > LIBCXX_FILES =
53 >
54 > XYZC_FILES = \
55 >        $(DIR)/xyz2pov.c
56 >
57 > XYZCXX_FILES =
58 >
59 > ANIMC_FILES = \
60 >        $(DIR)/pov2anim.c
61 >
62 > ANIMCXX_FILES =
63 >
64 > DIR:=.
65 > LIBC_SRCS   :=   $(LIBC_FILES)
66 > LIBCXX_SRCS :=   $(LIBCXX_FILES)
67 > LIB_SRCS    :=   $(LIBC_SRCS) $(LIBCXX_SRCS)
68 >
69 > DIR:=.
70 > XYZC_SRCS   :=  $(XYZC_FILES)
71 > XYZCXX_SRCS :=  $(XYZCXX_FILES)
72 > XYZ_SRCS    :=  $(XYZC_SRCS) $(XYZCXX_SRCS)
73 >
74 > DIR:=.
75 > ANIMC_SRCS   :=  $(ANIMC_FILES)
76 > ANIMCXX_SRCS :=  $(ANIMCXX_FILES)
77 > ANIM_SRCS    :=  $(ANIMC_SRCS) $(ANIMCXX_SRCS)
78 >
79 > SRCS := $(LIB_SRCS) $(XYZ_SRCS) $(ANIM_SRCS)
80 >
81 > DIR:=obj
82 > LIBC_OBJS   :=     $(LIBC_FILES:.c=.o)
83 > LIBCXX_OBJS :=     $(LIBCXX_FILES:.cpp=.o)
84 > LIB_OBJS    :=     $(LIBC_OBJS) $(LIBCXX_OBJS)
85 >
86 > DIR:=obj
87 > XYZC_OBJS   :=  $(XYZC_FILES:.c=.o)
88 > XYZCXX_OBJS :=  $(XYZCXX_FILES:.cpp=.o)
89 > XYZ_OBJS    :=  $(XYZC_OBJS) $(XYZCXX_OBJS)
90 >
91 > DIR:=obj
92 > ANIMC_OBJS   :=   $(ANIMC_FILES:.c=.o)
93 > ANIMCXX_OBJS :=   $(ANIMCXX_FILES:.cpp=.o)
94 > ANIM_OBJS    :=   $(ANIMC_OBJS) $(ANIMCXX_OBJS)
95 >
96 > LIBSUBDIRS = obj
97 >
98 > all : Make.dep $(POVTOOLS_LIB) $(POV2ANIM) $(XYZ2POV)
99 >
100 > depend: Make.dep
101 >
102 > libpovtools.a: $(LIB_OBJS)
103 >        $(RM) $@
104 >        $(AR) cr $@ $(OBJS)
105 >        $(RANLIB) $@
106 >
107 > xyz2pov$(EXE) : $(XYZ_OBJS) $(POVTOOLS_LIB)
108 >        $(CC) $(CFLAGS) $(XYZ_OBJS) -o $@ $(XYZ2POV_LDFLAGS) $(XYZ2POV_LDADD)
109 >
110 > pov2anim$(EXE) : $(ANIM_OBJS) $(POVTOOLS_LIB)
111 >        $(CC) $(CFLAGS) $(ANIM_OBJS) -o $@ $(POV2ANIM_LDFLAGS) $(POV2ANIM_LDADD)
112 >
113 > install :  $(POV2ANIM) $(XYZ2POV)
114 >        $(MKINSTALLDIRS) $(XYZ2POV_HOME)/bin
115 >        $(INSTALL_PROGRAM) -s $(XYZ2POV) $(XYZ2POV_HOME)/bin/$(XYZ2POV)
116 >        $(INSTALL_PROGRAM) -s $(POV2ANIM) $(XYZ2POV_HOME)/bin/$(POV2ANIM)
117 >
118 > tests : dummy
119 >
120 > $(XYZ2POV_HOME)/bin/$(XYZ2POV) : $(XYZ2POV)
121 >        $(MAKE) install
122 >
123 > $(XYZ2POV_HOME)/bin/$(POV2ANIM) : $(POV2ANIM)
124 >        $(MAKE) install
125 >
126 > links : $(XYZ2POV_HOME)/bin/$(XYZ2POV) $(XYZ2POV_HOME)/bin/$(POV2ANIM)
127 >        $(MKINSTALLDIRS) $(PREFIX)/bin
128 >        cd $(PREFIX)/bin; $(RM) $(XYZ2POV); $(LN_S) $(XYZ2POV_HOME)/bin/$(XYZ2POV) $(XYZ2POV)
129 >        cd $(PREFIX)/bin; $(RM) $(POV2ANIM); $(LN_S) $(XYZ2POV_HOME)/bin/$(POV2ANIM) $(POV2ANIM)
130 >
131 >
132 > # cleaning
133 >
134 > .PHONY : clean
135 >
136 > clean : dummy
137 >        for i in $(LIBSUBDIRS); do \
138 >          (cd $$i; $(RM) *.o) || exit 1; \
139 >        done
140 >        $(RM) $(POVTOOLS_LIB) $(XYZ2POV) $(ANIM2POV) *.o *~ Make.temp
141 >
142 > distclean : dummy
143 >        for i in $(LIBSUBDIRS); do \
144 >          (cd $$i; $(RM) *.o) || exit 1; \
145 >        done
146 >        $(RM) $(POVTOOLS_LIB) $(XYZ2POV) $(ANIM2POV) *.o *~ Make.temp Make.dep
147 >
148 > devclean : distclean
149 >
150 > Make.dep : $(SRCS)
151 >        echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
152 >        $(CC) $(DEPFLAGS) -MM $(SRCS) \
153 >                | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
154 >        cat Make.temp | sed 's/^/obj\//' >> Make.dep
155 >        $(RM) Make.temp
156 >
157 > tags : $(SRCS)
158 >        ctags $(SRCS)
159 >
160 > dummy :
161 >
162 > # DO NOT DELETE
163 > include Make.dep

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines