| 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 |  | 
|---|
| 9 | cd ../$1 | 
|---|
| 10 |  | 
|---|
| 11 | rm -f GNUmakefile | 
|---|
| 12 |  | 
|---|
| 13 |  | 
|---|
| 14 | echo '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 | 
|---|
| 18 | if ($1 == 'ProgPI')  then | 
|---|
| 19 | echo 'MODULEDECCXXFLAGS := -msg_quiet' >> GNUmakefile | 
|---|
| 20 | endif | 
|---|
| 21 | echo 'include ../Mgr/Makefile.h' >> GNUmakefile | 
|---|
| 22 |  | 
|---|
| 23 | echo ' ' >> GNUmakefile | 
|---|
| 24 |  | 
|---|
| 25 | echo 'ifdef NOSHLIB'                                        >> GNUmakefile | 
|---|
| 26 | echo 'LIBF = ' `sed -e 's/.*/$(LIB)lib&.a/' usedlibs`       >> GNUmakefile | 
|---|
| 27 | echo 'LIBS = -L$(LIB)' `sed -e 's/.*/-l&/' usedlibs` ' -lm' >> GNUmakefile | 
|---|
| 28 | echo 'ifeq ($(CXX),cxx)'                                    >> GNUmakefile | 
|---|
| 29 | echo '# librairie des instances de templates cxx'           >> GNUmakefile | 
|---|
| 30 | echo 'LIBS := $(LIBS) -lertcxx'                             >> GNUmakefile | 
|---|
| 31 | echo 'endif' >> GNUmakefile | 
|---|
| 32 | echo 'else'                                                 >> GNUmakefile | 
|---|
| 33 | echo 'LIBF = ' `sed -e 's/.*/$(SLB)lib&.so/' usedslibs`     >> GNUmakefile | 
|---|
| 34 | echo 'LIBS = -L$(SLB)' `sed -e 's/.*/-l&/' usedslibs` ' -lm'>> GNUmakefile | 
|---|
| 35 | echo 'endif'                                                >> GNUmakefile | 
|---|
| 36 |  | 
|---|
| 37 | echo 'LIBSORA := $(LIBS)' >> GNUmakefile | 
|---|
| 38 | echo 'ifdef ORACLE_HOME' >> GNUmakefile | 
|---|
| 39 | echo 'LIBSORA := -L$(LIB) -lDb++ $(LIBS) -lErosDb -L$(ORACLE_HOME)/lib -lclntsh' >> GNUmakefile | 
|---|
| 40 | echo 'endif' >> GNUmakefile | 
|---|
| 41 |  | 
|---|
| 42 | echo 'LDLIBS := $(LIBS) $(LDLIBS)' >> GNUmakefile | 
|---|
| 43 |  | 
|---|
| 44 | set progaexe = programs | 
|---|
| 45 | if( -e programs_exe ) set progaexe = programs_exe | 
|---|
| 46 | echo 'PROGS = '`cut -d \  -f1 $progaexe | awk '{if(length($1)>0) print $1}' | sed -e 's/^/\$(EXE)/'` >> GNUmakefile | 
|---|
| 47 | unset progaexe | 
|---|
| 48 |  | 
|---|
| 49 | echo " " >> GNUmakefile | 
|---|
| 50 | echo 'all: $(PROGS)' >> GNUmakefile | 
|---|
| 51 |  | 
|---|
| 52 | set cxxrepname = cxxrep_$1 | 
|---|
| 53 |  | 
|---|
| 54 | cat >> GNUmakefile << __END__ | 
|---|
| 55 |  | 
|---|
| 56 | clean: | 
|---|
| 57 | rm -f \$(PROGS) | 
|---|
| 58 | if [ -d \$(OBJ)$cxxrepname ] ; then cd \$(OBJ)$cxxrepname ; rm -f *.o ; fi | 
|---|
| 59 |  | 
|---|
| 60 | __END__ | 
|---|
| 61 |  | 
|---|
| 62 | awk -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 |  | 
|---|
| 80 | set inc = $SOPHYADEVREP/Include | 
|---|
| 81 | set incext = $EXTLIBDIR/Include | 
|---|
| 82 | set nomsys = `uname` | 
|---|
| 83 |  | 
|---|
| 84 | foreach 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 | 
|---|
| 90 | end | 
|---|
| 91 |  | 
|---|
| 92 |  | 
|---|
| 93 |  | 
|---|
| 94 |  | 
|---|