2 include ../Config/Define.inc
3 include ../../Config/Define.inc
4 include ../../../Config/Define.inc
5 include ../../../../Config/Define.inc
7 include $(OSTYPE)/.Source
13 LIBNAME=lib$(OBJECTNAME).a
14 SHAREDLIB=lib$(OBJECTNAME).so
15 LIBNAMEDEBUG=lib$(OBJECTNAME).debug.a
17 DSTDIR=../../../../../lib/$(OSTYPE)/
18 SOURCE=$(OSTYPE)/.Source
19 ARCHTEMPLATEDIR=$(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH
21 all: hostdepend static-lib shared-lib ruby-lib debug
22 @echo LIBNAME:$(LIBNAME)
23 @echo OBJECTNAME:$(OBJECTNAME)
26 @if [ ! -L $(OSTYPE) ] ; then \
33 @echo static-lib:LIBNAME:$(LIBNAME) ; \
34 $(RM) -f $(OSTYPE)/Makefile; \
35 $(CP) $(ARCHTEMPLATEDIR)/Makefile $(OSTYPE)/Makefile ; \
37 $(MAKE) $(LIBNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME) WORLDNAME=$(WORLDNAME)
40 @echo shared-lib:LIBNAME:$(LIBNAME) ; \
41 $(RM) -f $(OSTYPE)/Makefile; \
42 $(CP) $(ARCHTEMPLATEDIR)/Makefile $(OSTYPE)/Makefile ; \
44 $(MAKE) $(SHAREDLIB) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME) WORLDNAME=$(WORLDNAME)
47 @if [ -d Swig ]; then \
48 echo "--- 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 ; \
54 make sitearchdir=$(EOS_HOME)/lib/$(OSTYPE) install; \
61 $(CP) $(ARCHTEMPLATEDIR)/Makefile Makefile ; \
62 $(MAKE) $(LIBNAMEDEBUG) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME) WORLDNAME=$(WORLDNAME)
65 rm -f *.[oa] *.debugo *.cudagdbo *.so *.sharedo *.linkinfo $(OSTYPE)/*.[ao] $(OSTYPE)/*.debugo $(OSTYPE)/*.cudagdbo $(OSTYPE)/*.linkinfo *.bak core $(OSTYPE)/*.sharedo $(OSTYPE)/*.so
72 install: all install-static install-shared install-ascii
73 @echo "Installation has completed: $(LIBNAME)"
75 install-static: $(DSTDIR)/$(LIBNAME)
76 install-shared: $(DSTDIR)/$(SHAREDLIB)
78 install-debug: debug $(DSTDIR)/$(LIBNAMEDEBUG) install-ascii
79 @echo "Installation has completed: $(LIBNAMEDEBUG)"
81 install-ascii: h hh wish ruby
84 @if [ -n "$(CHeader)" ] ; \
86 echo "C Header Install" ; \
87 for file in $(CHeader) dummy ; \
89 if [ -f $${file} ] ; \
91 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/include ; \
97 @if [ -n "$(CCHeader)" ] ; \
99 echo "C++ Header Install" ; \
100 for file in $(CCHeader) dummy ; \
102 if [ -f $${file} ] ; \
104 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/include ; \
110 @if [ -n "$(Wish)" ] ; \
112 echo "Wish Install" ; \
113 for file in $(Wish) dummy ; \
115 if [ -f $${file} ] ; \
117 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/lib ; \
123 @if [ -n "$(Ruby)" ] ; \
125 echo "Ruby Install" ; \
126 for file in $(Ruby) dummy ; \
128 if [ -f $${file} ] ; \
130 echo $${file}; $(INSTALL) -m 444 $${file} $(EOS_HOME)/lib ; \
136 @Files=`ls -l | grep $${USER} | grep rw | grep -e "\.c" ` ;\
137 for file in $${Files} dummy; \
139 if [ -w $${file} ] ; \
141 echo $${file}; sccsPut $${file} ; \
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 ; \
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
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 ; \
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
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 ; \
195 if [ ! -d $(DSTDIR)/shared ] ; then \
196 mkdir $(DSTDIR)/shared; \
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
206 @cd .. ; $(MAKE) install
208 install-ruby: ruby-lib
209 cd $(OSTYPE); $(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0555, true)' $(SHAREDLIB) $(RUBYSHAREDLIB)/$(SHAREDLIB)
212 @echo dependency checking now
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)
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)
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)
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)
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)
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)
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)
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)
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)
279 @echo CCHeader = \\ > .CCHeader
280 @ls -1 *.hh | sed -e "s/\.hh/.hh \\\\/" >> .CCHeader
283 @echo CHeader = \\ > .CHeader
284 @ls -1 *.h | sed -e "s/\.h/.h \\\\/" >> .CHeader
287 @echo Wish = \\ > .Wish
288 @ls -1 *.wish | sed -e "s/\.wish/.wish \\\\/" >> .Wish
291 @echo Ruby = \\ > .Ruby
292 @ls -1 *.rb | sed -e "s/\.rb/.rb \\\\/" >> .Ruby
295 @ls -1 *.c *.cc *.ccm | \
296 awk -vHostType=$(OSTYPE) -f$(EOS_HOME)/sbin/awk/objectdependency.awk > $(OSTYPE)/.Depend
298 @$(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(KHOROS_INCS) *.c *.cc *.ccm >> $(OSTYPE)/.Depend
299 @for file in $(SRC) dummy ; \
301 if [ -f $${file} ] ; \
304 ln -sf ../$${file} $(OSTYPE)/$${file}; \
312 @if [ -d test ] ; then \
316 echo "No test directory: making test"; \
326 cvs -d $(EOS_CVSROOT) update -d
329 cvs -d $(EOS_CVSROOT) login
332 @echo "cvs -d $(EOS_CVSROOT) commit -m @"message@" filename"
335 @echo "cvs -d $(EOS_CVSROOT) add filename|dirname"
336 @echo "Need Commit for filename"
337 @echo "make cvscommit"
340 @echo "cvs -d $(EOS_CVSROOT) remove filename"
341 @echo "Need Commit for filename"
342 @echo "make cvscommit"
344 include $(OSTYPE)/.Depend
345 include ../Config/Target.inc