OSDN Git Service

Stirng.h -> eosString.h
[eos/base.git] / src / Objects / DataManip / transform / src / Makefile
1 SHELL=/bin/ksh
2 include ../Config/Define.inc
3 include ../../Config/Define.inc
4 include ../../../Config/Define.inc
5 include ../../../../Config/Define.inc
6
7 include $(OSTYPE)/.Source
8 include .CHeader
9 include .CCHeader
10 include .Wish
11 include .Ruby
12
13 LIBNAME=lib$(OBJECTNAME).a
14 SHAREDLIB=lib$(OBJECTNAME).so
15 LIBNAMEDEBUG=lib$(OBJECTNAME).debug.a
16
17 DSTDIR=$(EOS_HOME)/lib/$(OSTYPE)/
18 SOURCE=$(OSTYPE)/.Source
19 ARCHTEMPLATEDIR=$(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH
20
21 all: hostdepend static-lib shared-lib ruby-lib debug
22         @echo LIBNAME:$(LIBNAME)
23         @echo OBJECTNAME:$(OBJECTNAME)
24
25 hostdepend:
26         @if [ ! -L $(OSTYPE) ] ; then  \
27                 moveHostdependent ; \
28         fi
29
30 debug: debug-lib
31
32 static-lib::
33         @echo static-lib:LIBNAME:$(LIBNAME) ; \
34         $(RM) -f $(OSTYPE)/Makefile; \
35         $(CP) $(ARCHTEMPLATEDIR)/Makefile $(OSTYPE)/Makefile ; \
36         cd $(OSTYPE); \
37         $(MAKE) $(LIBNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME) WORLDNAME=$(WORLDNAME) 
38
39 shared-lib::
40         @echo shared-lib:LIBNAME:$(LIBNAME) ; \
41         $(RM) -f $(OSTYPE)/Makefile;  \
42         $(CP) $(ARCHTEMPLATEDIR)/Makefile $(OSTYPE)/Makefile ; \
43         cd  $(OSTYPE); \
44         $(MAKE) $(SHAREDLIB) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME) WORLDNAME=$(WORLDNAME) 
45
46 ruby-lib::
47         @if [ -d Swig ]; then \
48                 echo "--- Swig ---"; \
49                 cd Swig; \
50                 if [ -f extconf.rb ] ; then \
51                         swig -ruby -I/usr/include -I$(EOS_HOME)/include *.i ; \
52                         ruby extconf.rb --with-Eos-include=$(EOS_HOME)/include --with-Eos-lib=$(EOS_HOME)/lib/$(OSTYPE) --with-opt-lib=$LD_LIBRARY_PATH --with-opt-lib=$(EOS_HOME)/util/$(OSTYPE)/lib --with-GL-lib=/usr/lib ; \
53                         make ; \
54                         make sitearchdir=$(EOS_HOME)/lib/$(OSTYPE) install; \
55                 fi ; \
56         fi  
57
58 debug-lib::
59         @cd $(OSTYPE); \
60         $(RM) -f Makefile; \
61         $(CP) $(ARCHTEMPLATEDIR)/Makefile Makefile ; \
62         $(MAKE) $(LIBNAMEDEBUG) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME) WORLDNAME=$(WORLDNAME) 
63
64 clean: 
65         rm -f *.[oa] *.debugo *.cudagdbo *.so *.sharedo *.linkinfo $(OSTYPE)/*.[ao] $(OSTYPE)/*.debugo $(OSTYPE)/*.cudagdbo $(OSTYPE)/*.linkinfo *.bak core $(OSTYPE)/*.sharedo $(OSTYPE)/*.so
66
67 Makefile:
68         touch .Source
69         touch .CHeader
70         touch .CCHeader
71
72 install: all install-static install-shared install-ascii 
73         @echo "Installation has completed: $(LIBNAME)" 
74
75 install-static: $(DSTDIR)/$(LIBNAME)
76 install-shared: $(DSTDIR)/$(SHAREDLIB)
77
78 install-debug: debug $(DSTDIR)/$(LIBNAMEDEBUG) install-ascii 
79         @echo "Installation has completed: $(LIBNAMEDEBUG)" 
80
81 install-ascii: h hh wish ruby 
82
83 h:
84         @if [ -n "$(CHeader)" ] ; \
85         then\
86                 echo "C Header Install" ; \
87                 for file in $(CHeader) dummy ; \
88                 do \
89                         if [ -f $${file} ] ; \
90                         then\
91                                 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/include ; \
92                         fi;\
93                 done; \
94         fi
95
96 hh:
97         @if [ -n "$(CCHeader)" ] ; \
98         then \
99                 echo "C++ Header Install" ; \
100                 for file in $(CCHeader) dummy ; \
101                 do \
102                         if [ -f $${file} ] ; \
103                         then\
104                                 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/include ; \
105                         fi;\
106                 done; \
107         fi
108
109 wish:
110         @if [ -n "$(Wish)" ] ; \
111         then \
112                 echo "Wish Install" ; \
113                 for file in $(Wish) dummy ; \
114                 do \
115                         if [ -f $${file} ] ; \
116                         then\
117                                 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/lib ; \
118                         fi;\
119                 done; \
120         fi
121
122 ruby:
123         @if [ -n "$(Ruby)" ] ; \
124         then \
125                 echo "Ruby Install" ; \
126                 for file in $(Ruby) dummy ; \
127                 do \
128                         if [ -f $${file} ] ; \
129                         then\
130                                 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/lib ; \
131                         fi;\
132                 done; \
133         fi
134
135 put:
136         @Files=`ls -l | grep $${USER} | grep rw | grep -e "\.c" ` ;\
137         for file in $${Files} dummy; \
138         do \
139                 if [ -w $${file} ] ; \
140                 then\
141                         echo $${file}; sccsPut $${file} ; \
142                 fi;\
143         done
144
145 $(DSTDIR)/$(LIBNAME): static-lib
146         @echo Installing lib: $(LIBNAME)
147         @if [ ! -d $(DSTDIR) ] ; then mkdir $(DSTDIR) ; fi
148         @cd $(OSTYPE); $(INSTALL) -m 444 $(LIBNAME) ../$(DSTDIR)
149         @echo LIBNAME:$(LIBNAME)
150         @echo Link EosObjects
151         @OBJLIST=`ls $(OSTYPE)/*.o `;\
152         echo $${OBJLIST} | sed -f ../../../../Config/o2nl.sed > .tmp1 ; \
153         echo $(REALOBJ)  | sed -f ../../../../Config/o2nl.sed > .tmp2 ; \
154         echo "#### Attention Uncompiled file ####";\
155         comm -13 .tmp1 .tmp2 ; \
156         echo "########";\
157         echo $(AR) r $(DSTDIR)/libEosObjects.a $${OBJLIST} ; \
158         $(AR) r $(DSTDIR)/libEosObjects.a $${OBJLIST}; \
159         echo $(AR) s $(DSTDIR)/libEosObjects.a ; \
160         $(AR) s $(DSTDIR)/libEosObjects.a \
161         chmod 660 $(DSTDIR)/libEosObjects.a
162         @rm .tmp1 .tmp2
163
164 $(DSTDIR)/$(LIBNAMEDEBUG): debug 
165         @echo Installing lib: $(LIBNAMEDEBUG)
166         @if [ ! -d $(DSTDIR) ] ; then mkdir $(DSTDIR) ; fi
167         @cd $(OSTYPE); $(INSTALL) -m 444 $(LIBNAMEDEBUG) $(DSTDIR)
168         @echo LIBNAME:$(LIBNAMEDEBUG)
169         @echo Link EosObjects
170         @OBJLISTDEBUG=`ls $(OSTYPE)/*.debugo `;\
171         echo $${OBJLISTDEBUG} | sed -f ../../../../Config/o2nl.sed > .tmp1 ; \
172         echo $(REALOBJDEBUG)  | sed -f ../../../../Config/o2nl.sed > .tmp2 ; \
173         echo "#### Attention Uncompiled file ####";\
174         comm -13 .tmp1 .tmp2 ; \
175         echo "########";\
176         echo $(AR) r $(DSTDIR)/libEosObjects.debug.a $${OBJLISTDEBUG} ; \
177         $(AR) r $(DSTDIR)/libEosObjects.debug.a $${OBJLISTDEBUG}; 
178         echo $(AR) s $(DSTDIR)/libEosObjects.debug.a ; \
179         $(AR) s $(DSTDIR)/libEosObjects.debug.a 
180         chmod 660 $(DSTDIR)/libEosObjects.debug.a
181         @rm .tmp1 .tmp2
182
183 $(DSTDIR)/$(SHAREDLIB): shared-lib
184         @echo Installing lib: $(SHAREDLIB)
185         @if [ ! -d $(DSTDIR) ] ; then mkdir $(DSTDIR) ; fi
186         @cd $(OSTYPE); $(INSTALL) -m 444 $(SHAREDLIB) $(DSTDIR)
187         @echo LIBNAME:$(SHAREDLIB)
188         @echo Link EosObjects
189         @OBJLIST=`ls $(OSTYPE)/*.sharedo `;\
190         echo $${OBJLIST} | sed -f ../../../../Config/o2nl.sed > .tmp1 ; \
191         echo $(REALSHAREDOBJ)  | sed -f ../../../../Config/o2nl.sed > .tmp2 ; \
192         echo "#### Attention Uncompiled file ####";\
193         comm -13 .tmp1 .tmp2 ; \
194         echo "########"; \
195         if [ ! -d  $(DSTDIR)/shared ] ; then \
196                 mkdir $(DSTDIR)/shared; \
197         fi; \
198         $(CP) $${OBJLIST} $(DSTDIR)/shared ; \
199         echo "$(CP) $${OBJLIST} $(DSTDIR)/shared" ; \
200         $(SHARED) $(DSTDIR)/libEosObjects.so $(DSTDIR)/shared/*.sharedo ; \
201         echo "$(SHARED) $(DSTDIR)/libEosObjects.so $(DSTDIR)/shared/*.sharedo" ; \
202         chmod 660 $(DSTDIR)/libEosObjects.so
203         @rm .tmp1 .tmp2
204
205 install-all: 
206         @cd ..  ; $(MAKE) install
207
208 install-ruby: ruby-lib
209         cd $(OSTYPE); $(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0555, true)' $(SHAREDLIB) $(RUBYSHAREDLIB)/$(SHAREDLIB)     
210
211 depend:
212         @echo dependency checking now 
213         @echo $(OSTYPE)
214         @echo SRC = \\ > $(SOURCE) 
215         @ls -1 *.c  | sed -e "s/\.c/.c \\\\/"   >> $(SOURCE)
216         @ls -1 *.cc | sed -e "s/\.cc/.cc \\\\/" >> $(SOURCE)
217         @ls -1 *.ccm | sed -e "s/\.ccm/.ccm \\\\/" >> $(SOURCE)
218         @ls -1 *.idl | sed -e "s/\.idl/.idl \\\\/" >> $(SOURCE)
219         @ls -1 *.cu | sed -e "s/\.cu/.cu \\\\/" >> $(SOURCE)
220         @echo >> $(SOURCE)
221         @#
222         @echo OBJ = \\ >> $(SOURCE)
223         @ls -1 *.c   | sed -e "s/\.c/.o \\\\/"    >> $(SOURCE)
224         @ls -1 *.cc  | sed -e "s/\.cc/.o  \\\\/"  >> $(SOURCE)
225         @ls -1 *.ccm  | sed -e "s/\.ccm/.o  \\\\/"  >> $(SOURCE)
226         @ls -1 *.idl | sed -e "s/\.idl/.o  \\\\/" >> $(SOURCE)
227         @ls -1 *.cu  | sed -e "s/\.cu/.o  \\\\/"  >> $(SOURCE)
228         @echo >> $(SOURCE)
229         @#
230         @echo SHAREDOBJ = \\ >> $(SOURCE)
231         @ls -1 *.c   | sed -e "s/\.c/.sharedo \\\\/"    >> $(SOURCE)
232         @ls -1 *.cc  | sed -e "s/\.cc/.sharedo  \\\\/"  >> $(SOURCE)
233         @ls -1 *.ccm  | sed -e "s/\.ccm/.sharedo  \\\\/"  >> $(SOURCE)
234         @ls -1 *.idl | sed -e "s/\.idl/.sharedo  \\\\/" >> $(SOURCE)
235         @ls -1 *.cu  | sed -e "s/\.cu/.sharedo  \\\\/"  >> $(SOURCE)
236         @echo >> $(SOURCE)
237         @#
238         @echo REALOBJ = \\ >> $(SOURCE)
239         @ls -1 *.c   | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.c/.o \\\\/"  >> $(SOURCE)
240         @ls -1 *.cc  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cc/.o \\\\/" >> $(SOURCE)
241         @ls -1 *.ccm  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.ccm/.o \\\\/" >> $(SOURCE)
242         @ls -1 *.idl | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.idl/.o \\\\/" >> $(SOURCE)
243         @ls -1 *.cu  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cu/.o \\\\/" >> $(SOURCE)
244         @echo >> $(SOURCE) 
245         @echo REALSHAREDOBJ = \\ >> $(SOURCE)
246         @ls -1 *.c   | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.c/.sharedo \\\\/"  >> $(SOURCE)
247         @ls -1 *.cc  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cc/.sharedo \\\\/" >> $(SOURCE)
248         @ls -1 *.ccm  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.ccm/.sharedo \\\\/" >> $(SOURCE)
249         @ls -1 *.idl | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.idl/.sharedo \\\\/" >> $(SOURCE)
250         @ls -1 *.cu  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cu/.sharedo \\\\/" >> $(SOURCE)
251         @echo >> $(SOURCE) 
252         @echo OBJDEBUG = \\ >> $(SOURCE)
253         @ls -1 *.c   | sed -e "s/\.c/.debugo \\\\/"    >> $(SOURCE)
254         @ls -1 *.cc  | sed -e "s/\.cc/.debugo  \\\\/"  >> $(SOURCE)
255         @ls -1 *.ccm  | sed -e "s/\.ccm/.debugo  \\\\/"  >> $(SOURCE)
256         @ls -1 *.idl | sed -e "s/\.idl/.debugo  \\\\/" >> $(SOURCE)
257         @echo >> $(SOURCE)
258         @#
259         @echo REALOBJDEBUG = \\ >> $(SOURCE)
260         @ls -1 *.c   | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.c/.debugo \\\\/"  >> $(SOURCE)
261         @ls -1 *.cc  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cc/.debugo \\\\/" >> $(SOURCE)
262         @ls -1 *.ccm  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.ccm/.debugo \\\\/" >> $(SOURCE)
263         @ls -1 *.idl | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.idl/.debugo \\\\/" >> $(SOURCE)
264         @ls -1 *.cu  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cu/.debugo \\\\/" >> $(SOURCE)
265         @echo >> $(SOURCE) 
266         @echo OBJCUDAGDB = \\ >> $(SOURCE)
267         @ls -1 *.c   | sed -e "s/\.c/.cudagdb.o \\\\/"    >> $(SOURCE)
268         @ls -1 *.cc  | sed -e "s/\.cc/.cudagdb.o  \\\\/"  >> $(SOURCE)
269         @ls -1 *.cu  | sed -e "s/\.cu/.cudagdb.o  \\\\/"  >> $(SOURCE)
270         @echo >> $(SOURCE)
271         @#
272         @echo REALOBJCUDAGDB = \\ >> $(SOURCE)
273         @ls -1 *.c   | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.c/.cudagdb.o \\\\/"  >> $(SOURCE)
274         @ls -1 *.cc  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cc/.cudagdb.o \\\\/" >> $(SOURCE)
275         @ls -1 *.cu  | sed -e "s/^/\$(OSTYPE)\//" -e "s/\.cu/.cudagdb.o \\\\/" >> $(SOURCE)
276         @echo >> $(SOURCE) 
277         @#
278         @echo >> $(SOURCE)
279         @echo CCHeader = \\ > .CCHeader
280         @ls -1 *.hh | sed -e "s/\.hh/.hh \\\\/" >> .CCHeader
281         @echo >> .CCHeader
282         @#
283         @echo CHeader = \\ > .CHeader
284         @ls -1 *.h | sed -e "s/\.h/.h \\\\/" >> .CHeader
285         @echo >> .CHeader
286         @#
287         @echo Wish = \\ > .Wish
288         @ls -1 *.wish | sed -e "s/\.wish/.wish \\\\/" >> .Wish
289         @echo >> .Wish
290         @#
291         @echo Ruby = \\ > .Ruby
292         @ls -1 *.rb | sed -e "s/\.rb/.rb \\\\/" >> .Ruby
293         @echo >> .Ruby
294         @#
295         @ls -1 *.c *.cc *.ccm | \
296         awk -vHostType=$(OSTYPE) -f$(EOS_HOME)/sbin/awk/objectdependency.awk > $(OSTYPE)/.Depend
297         @#
298         @$(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(KHOROS_INCS) *.c *.cc *.ccm >> $(OSTYPE)/.Depend
299         @for file in $(SRC) dummy ; \
300         do  \
301                 if [ -f $${file} ] ; \
302                 then \
303                         echo $${file} ; \
304                         ln -sf ../$${file} $(OSTYPE)/$${file}; \
305                 fi ;\
306         done
307
308 #
309 #
310 #
311 test::
312         @if [ -d test ] ; then \
313                 cd test; \
314                 $(MAKE); \
315         else \
316                 echo "No test directory: making test"; \
317                 mkdir test; \
318                 cd test; \
319                 touch Makefile; \
320         fi
321
322 #
323 # cvs
324 #
325 cvsupdate::
326         cvs -d $(EOS_CVSROOT) update -d 
327
328 cvslogin::
329         cvs -d $(EOS_CVSROOT) login 
330
331 cvscommit::
332         @echo "cvs -d $(EOS_CVSROOT) commit -m @"message@" filename"
333
334 cvsadd::
335         @echo "cvs -d $(EOS_CVSROOT) add  filename|dirname"
336         @echo "Need Commit for filename"
337         @echo "make cvscommit"
338
339 cvsremove::
340         @echo "cvs -d $(EOS_CVSROOT) remove filename"
341         @echo "Need Commit for filename"
342         @echo "make cvscommit" 
343
344 include $(OSTYPE)/.Depend
345 include ../Config/Target.inc