ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/xyz2pov/src/Makefile
Revision: 651
Committed: Thu Jul 24 20:40:00 2003 UTC (20 years, 11 months ago) by mmeineke
File size: 2908 byte(s)
Log Message:
rewrote the makefiles a little to install two scripts for rendering

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
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; $(LN_S) -f $(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