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

# User Rev Content
1 mmeineke 509 #####################################################
2     # Makefile for xyz2pov #
3     #####################################################
4     # You should not change anything here. #
5     #####################################################
6 mmeineke 60
7 mmeineke 509 TOP=..
8 mmeineke 60
9 mmeineke 509 include $(TOP)/Make.conf
10 mmeineke 60
11 mmeineke 509 .SUFFIXES : .cpp .c .h .hpp $(O)
12 mmeineke 60
13 mmeineke 509 # First do compile-time flags:
14 mmeineke 60
15 mmeineke 509 DECLARES= -DTYPES_PATH="$(ATOMTYPES_DIR)"
16 mmeineke 60
17 mmeineke 509 # include paths starting with "." are all relative to the SUBDIRS!!!
18 mmeineke 60
19 mmeineke 509 INCLUDES= -I..
20     CXXFLAGS=$(CXXFLAGS_C) $(INCLUDES) $(DECLARES)
21     CFLAGS=$(CFLAGS_C) $(INCLUDES) $(DECLARES)
22     DEPFLAGS=$(CFLAGS_C) -I.
23 mmeineke 60
24 mmeineke 509 XYZ2POV=xyz2pov$(EXE)
25 mmeineke 60
26 mmeineke 509 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 mmeineke 638 SRCPATH=$(PWD)
36    
37 mmeineke 509 obj/%.o: %.cpp
38 mmeineke 638 cd obj; $(CXX) $(CXXFLAGS) -c $(SRCPATH)/$<
39 mmeineke 509
40     obj/%.o: %.c
41 mmeineke 638 cd obj; $(CC) $(CFLAGS) -c $(SRCPATH)/$<
42 mmeineke 509
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 mmeineke 649 SRCS := $(LIB_SRCS) $(XYZ_SRCS)
68 mmeineke 509
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 mmeineke 649 all : Make.dep $(POVTOOLS_LIB) $(XYZ2POV)
82 mmeineke 509
83     depend: Make.dep
84    
85     libpovtools.a: $(LIB_OBJS)
86     $(RM) $@
87 mmeineke 511 $(AR) cr $@ $(LIB_OBJS)
88 mmeineke 509 $(RANLIB) $@
89    
90     xyz2pov$(EXE) : $(XYZ_OBJS) $(POVTOOLS_LIB)
91     $(CC) $(CFLAGS) $(XYZ_OBJS) -o $@ $(XYZ2POV_LDFLAGS) $(XYZ2POV_LDADD)
92    
93 mmeineke 649 install : $(XYZ2POV)
94 mmeineke 509 $(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 mmeineke 649 links : $(XYZ2POV_HOME)/bin/$(XYZ2POV)
103 mmeineke 509 $(MKINSTALLDIRS) $(PREFIX)/bin
104 mmeineke 651 cd $(PREFIX)/bin; $(LN_S) -f $(XYZ2POV_HOME)/bin/$(XYZ2POV) $(XYZ2POV)
105 mmeineke 509
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 mmeineke 649 $(RM) $(POVTOOLS_LIB) $(XYZ2POV) *.o *~ Make.temp
115 mmeineke 509
116     distclean : dummy
117     for i in $(LIBSUBDIRS); do \
118     (cd $$i; $(RM) *.o) || exit 1; \
119     done
120 mmeineke 649 $(RM) $(POVTOOLS_LIB) $(XYZ2POV) *.o *~ Make.temp Make.dep
121 mmeineke 509
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 mmeineke 638 cat Make.temp | sed 's/^[0-9a-zA-Z]/obj\/&/' >> Make.dep
129 mmeineke 509 $(RM) Make.temp
130    
131     tags : $(SRCS)
132     ctags $(SRCS)
133    
134     dummy :
135    
136     # DO NOT DELETE
137     include Make.dep