source: Sophya/trunk/SophyaLib/Mgr/mkmfprog@ 3753

Last change on this file since 3753 was 2437, checked in by cmv, 22 years ago

chgt DPC...REP en SOPHYA...REP et EROSCXX en SOPHYACXX cmv 17/09/2003

  • Property svn:executable set to *
File size: 3.0 KB
Line 
1#!/bin/csh
2# $Id: mkmfprog,v 1.5 2003-09-17 12:19:26 cmv Exp $
3
4# $1 : nom du repertoire
5# dans le repertoire, programs : liste des programs
6# usedlibs : liste des -L -l utilises
7# usedslibs : idem pour shlibs
8
9cd ../$1
10
11rm -f GNUmakefile
12
13
14echo 'MODULECXXREPNAME := ' $1 >> GNUmakefile
15# 04/98 : le fichier X11/Xlib.h contient des declarations de fonctions sans type
16# Cela genere un grand nombre de warning avec cxx V6
17# On specifie donc -msg_quiet pour ProgPI
18if ($1 == 'ProgPI') then
19 echo 'MODULEDECCXXFLAGS := -msg_quiet' >> GNUmakefile
20endif
21echo 'include ../Mgr/Makefile.h' >> GNUmakefile
22
23echo ' ' >> GNUmakefile
24
25echo 'ifdef NOSHLIB' >> GNUmakefile
26echo 'LIBF = ' `sed -e 's/.*/$(LIB)lib&.a/' usedlibs` >> GNUmakefile
27echo 'LIBS = -L$(LIB)' `sed -e 's/.*/-l&/' usedlibs` ' -lm' >> GNUmakefile
28echo 'ifeq ($(CXX),cxx)' >> GNUmakefile
29echo '# librairie des instances de templates cxx' >> GNUmakefile
30echo 'LIBS := $(LIBS) -lertcxx' >> GNUmakefile
31echo 'endif' >> GNUmakefile
32echo 'else' >> GNUmakefile
33echo 'LIBF = ' `sed -e 's/.*/$(SLB)lib&.so/' usedslibs` >> GNUmakefile
34echo 'LIBS = -L$(SLB)' `sed -e 's/.*/-l&/' usedslibs` ' -lm'>> GNUmakefile
35echo 'endif' >> GNUmakefile
36
37echo 'LIBSORA := $(LIBS)' >> GNUmakefile
38echo 'ifdef ORACLE_HOME' >> GNUmakefile
39echo 'LIBSORA := -L$(LIB) -lDb++ $(LIBS) -lErosDb -L$(ORACLE_HOME)/lib -lclntsh' >> GNUmakefile
40echo 'endif' >> GNUmakefile
41
42echo 'LDLIBS := $(LIBS) $(LDLIBS)' >> GNUmakefile
43
44set progaexe = programs
45if( -e programs_exe ) set progaexe = programs_exe
46echo 'PROGS = '`cut -d \ -f1 $progaexe | awk '{if(length($1)>0) print $1}' | sed -e 's/^/\$(EXE)/'` >> GNUmakefile
47unset progaexe
48
49echo " " >> GNUmakefile
50echo 'all: $(PROGS)' >> GNUmakefile
51
52set cxxrepname = cxxrep_$1
53
54cat >> GNUmakefile << __END__
55
56clean:
57 rm -f \$(PROGS)
58 if [ -d \$(OBJ)$cxxrepname ] ; then cd \$(OBJ)$cxxrepname ; rm -f *.o ; fi
59
60__END__
61
62awk -f ../Mgr/mkmfprog.awk programs >> GNUmakefile
63
64#foreach f (`cat programs`)
65# echo $f ': $(EXE)'$f >> GNUmakefile
66# echo ' ' >> GNUmakefile
67# echo '$(EXE)'$f ':' '$(OBJ)'$f.o '$(LIBF)' >> GNUmakefile
68# echo ' g++ $(LDFLAGS) -o $@ $< $(LIBS)' >> GNUmakefile
69# echo " ">> GNUmakefile
70#end
71
72#foreach f (`cat ../Mgr/programs_db`)
73# echo $f ': $(EXE)'$f >> GNUmakefile
74# echo ' ' >> GNUmakefile
75# echo '$(EXE)'$f ':' '$(OBJ)'$f.o '$(LIBF)' >> GNUmakefile
76# echo ' g++ $(LDFLAGS) -o $@ $< $(LIBSORA)' >> GNUmakefile
77# echo " ">> GNUmakefile
78#end
79
80set inc = $SOPHYADEVREP/Include
81set incext = $EXTLIBDIR/Include
82set nomsys = `uname`
83
84foreach f ( *.cc )
85 gcc -MM -D$nomsys -I$inc -I$incext $f \
86 | grep -v $incext \
87 | sed -e 's/.*\.o/\$(OBJ)&/' \
88 | sed -e 's?'$inc/'?$(INC)?g' \
89 | sed -e 's?'$incext/'?$(EXTINCPATH)?g' >> GNUmakefile
90end
91
92
93
94
Note: See TracBrowser for help on using the repository browser.