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 649 by mmeineke, Thu Jul 24 15:50:41 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  
26 < clean:
27 <        rm *.o *~
26 > POVTOOLS_LIB = libpovtools.a
27 >
28 > XYZ2POV_LDFLAGS= -L.
29 > XYZ2POV_LDADD= -lpovtools -lm
30 >
31 > PREFS=-DXYZ2POV_HOME="$(XYZ2POV_HOME)"
32 >
33 > # Then do the compile rules:
34 >
35 > SRCPATH=$(PWD)
36 >
37 > obj/%.o: %.cpp
38 >        cd obj; $(CXX) $(CXXFLAGS) -c $(SRCPATH)/$<
39 >
40 > obj/%.o: %.c
41 >        cd obj; $(CC) $(CFLAGS) -c $(SRCPATH)/$<
42 >
43 > # Then list what we have to compile
44 >
45 > LIBC_FILES = \
46 >        $(DIR)/atom_parser.c \
47 >        $(DIR)/frameCount.c \
48 >        $(DIR)/pov_writer.c
49 >
50 > LIBCXX_FILES =
51 >
52 > XYZC_FILES = \
53 >        $(DIR)/xyz2pov.c
54 >
55 > XYZCXX_FILES =
56 >
57 > DIR:=.
58 > LIBC_SRCS   :=   $(LIBC_FILES)
59 > LIBCXX_SRCS :=   $(LIBCXX_FILES)
60 > LIB_SRCS    :=   $(LIBC_SRCS) $(LIBCXX_SRCS)
61 >
62 > DIR:=.
63 > XYZC_SRCS   :=  $(XYZC_FILES)
64 > XYZCXX_SRCS :=  $(XYZCXX_FILES)
65 > XYZ_SRCS    :=  $(XYZC_SRCS) $(XYZCXX_SRCS)
66 >
67 > SRCS := $(LIB_SRCS) $(XYZ_SRCS)
68 >
69 > DIR:=obj
70 > LIBC_OBJS   :=     $(LIBC_FILES:.c=.o)
71 > LIBCXX_OBJS :=     $(LIBCXX_FILES:.cpp=.o)
72 > LIB_OBJS    :=     $(LIBC_OBJS) $(LIBCXX_OBJS)
73 >
74 > DIR:=obj
75 > XYZC_OBJS   :=  $(XYZC_FILES:.c=.o)
76 > XYZCXX_OBJS :=  $(XYZCXX_FILES:.cpp=.o)
77 > XYZ_OBJS    :=  $(XYZC_OBJS) $(XYZCXX_OBJS)
78 >
79 > LIBSUBDIRS = obj
80 >
81 > all : Make.dep $(POVTOOLS_LIB) $(XYZ2POV)
82 >
83 > depend: Make.dep
84 >
85 > libpovtools.a: $(LIB_OBJS)
86 >        $(RM) $@
87 >        $(AR) cr $@ $(LIB_OBJS)
88 >        $(RANLIB) $@
89 >
90 > xyz2pov$(EXE) : $(XYZ_OBJS) $(POVTOOLS_LIB)
91 >        $(CC) $(CFLAGS) $(XYZ_OBJS) -o $@ $(XYZ2POV_LDFLAGS) $(XYZ2POV_LDADD)
92 >
93 > install : $(XYZ2POV)
94 >        $(MKINSTALLDIRS) $(XYZ2POV_HOME)/bin
95 >        $(INSTALL_PROGRAM) -s $(XYZ2POV) $(XYZ2POV_HOME)/bin/$(XYZ2POV)
96 >
97 > tests : dummy
98 >
99 > $(XYZ2POV_HOME)/bin/$(XYZ2POV) : $(XYZ2POV)
100 >        $(MAKE) install
101 >
102 > links : $(XYZ2POV_HOME)/bin/$(XYZ2POV)
103 >        $(MKINSTALLDIRS) $(PREFIX)/bin
104 >        cd $(PREFIX)/bin; $(RM) $(XYZ2POV); $(LN_S) $(XYZ2POV_HOME)/bin/$(XYZ2POV) $(XYZ2POV)
105 >
106 > # cleaning
107 >
108 > .PHONY : clean
109 >
110 > clean : dummy
111 >        for i in $(LIBSUBDIRS); do \
112 >          (cd $$i; $(RM) *.o) || exit 1; \
113 >        done
114 >        $(RM) $(POVTOOLS_LIB) $(XYZ2POV) *.o *~ Make.temp
115 >
116 > distclean : dummy
117 >        for i in $(LIBSUBDIRS); do \
118 >          (cd $$i; $(RM) *.o) || exit 1; \
119 >        done
120 >        $(RM) $(POVTOOLS_LIB) $(XYZ2POV) *.o *~ Make.temp Make.dep
121 >
122 > devclean : distclean
123 >
124 > Make.dep : $(SRCS)
125 >        echo "# DO NOT DELETE THIS LINE - used by make depend" > Make.dep
126 >        $(CC) $(DEPFLAGS) -MM $(SRCS) \
127 >                | sed 's/\.o:/\$$(O)\ :/g' > Make.temp
128 >        cat Make.temp | sed 's/^[0-9a-zA-Z]/obj\/&/' >> Make.dep
129 >        $(RM) Make.temp
130 >
131 > tags : $(SRCS)
132 >        ctags $(SRCS)
133 >
134 > dummy :
135 >
136 > # DO NOT DELETE
137 > include Make.dep

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines