crabs_makefile-5.2 ©2003-2008 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)
1 .SILENT: 2 SHELL= /bin/bash 3 #Modifier le repertoire d'installation si nécessaire 4 INSTALL=/usr/local/crabs 5 6 #NOTE: les po sont rajoutés à la main 7 ETC=include.LINUX include.SOLARIS include.CGI include.CGI_BIN include.XPI xpi_rdf.xsl 8 LCL=projet.env crabs_mk.sh crabs_mk.csh fr/crabs_makefile.po 9 SRC= Pdepend.c Pinfo.c PrelativeHome.c PrelativePath.c Pprojetgpl.c 10 SBIN= PinfoGPL.sh PgenInfo_c.sh PenvProjet.sh Pinfo2html.sh Pinstall.sh \ 11 PgenInfo_include.sh 12 13 I18N_SRC= PinfoGPL.sh Pinfo2html.sh Pdepend.c Pprojetgpl.c Pinstall.sh 14 I18N_LANG=fr 15 I18N_PK= crabs_makefile 16 # DO NOT MODIDY AFTER THIS 17 I18N_POT=$(I18N_PK).pot 18 I18N_PO=$(I18N_LANG:%=%/$(I18N_PK).po) 19 I18N_MO=$(I18N_LANG:%=%/$(I18N_PK).mo) 20 21 BINDIR=../BIN/$(OS) 22 _BIN=$(SRC:%.c=$(BINDIR)/%) 23 _SBIN=$(SBIN:%=$(BINDIR)/%) 24 _ETC=$(ETC:%=../ETC/%) 25 26 all : ../ETC $(BINDIR) $(_BIN) $(_SBIN) $(_ETC) $(I18N_MO) 27 install : all FORCE 28 test -d $(INSTALL) || mkdir -p $(INSTALL) ;\ 29 for d in bin etc locale ; do \ 30 test -d $(INSTALL)/$$d || mkdir $(INSTALL)/$$d ;\ 31 done ;\ 32 for f in $(_BIN) $(_SBIN) ; do \ 33 cp $$f $(INSTALL)/bin ;\ 34 echo "INSTALL: `basename $$f`" ;\ 35 done ;\ 36 for f in $(_ETC) ; do \ 37 cp $$f $(INSTALL)/etc ;\ 38 echo "INSTALL: `basename $$f`" ;\ 39 done ;\ 40 for f in $(I18N_MO) ; do \ 41 L=`dirname $$f` MO=`basename $$f` ;\ 42 echo "Install $$MO ($$L)" ;\ 43 mkdir -p $(INSTALL)/locale/$$L/LC_MESSAGES ;\ 44 cp $$f $(INSTALL)/locale/$$L/LC_MESSAGES/$$MO ;\ 45 done ;\ 46 for ext in sh csh ; do \ 47 echo "CREATE: /etc/profile.d/crabs_mk.$$ext" ;\ 48 cat crabs_mk.$$ext \ 49 | sed 's?%%INSTALL%%?$(INSTALL)?' \ 50 | sed 's?%%OS%%?$(OS)?' \ 51 >/etc/profile.d/crabs_mk.$$ext ;\ 52 chmod a+x /etc/profile.d/crabs_mk.$$ext ;\ 53 done ;\ 54 etc="$(INSTALL)/etc" ;\ 55 if [ -f "$$PROJET_MK/projet.env" ] ; then \ 56 [ -f "$$etc/projet.env" ] || cp "$$PROJET_MK/projet.env" "$$etc" ;\ 57 else \ 58 if [ ! -f $$etc/projet.env ] ; then cp "projet.env" "$$etc" ; fi;\ 59 fi ;\ 60 if [ `uname -s` = SunOS ] ; then \ 61 if [ $(OS) != SOLARIS ] ; then \ 62 [ -f $$etc/include.$(OS) ] && rm -f $$etc/include.$(OS) ;\ 63 ( cd $$etc ; ln -s include.SOLARIS include.$(OS) ) ;\ 64 fi ;\ 65 else \ 66 if [ $(OS) != LINUX ] ; then \ 67 [ -f $$etc/include.$(OS) ] && rm -f $$etc/include.$(OS) ;\ 68 ( cd $$etc ; ln -s include.LINUX include.$(OS) ) ;\ 69 fi ;\ 70 fi 71 72 ../ETC : FORCE 73 [ -d $@ ] || mkdir -p $@ 74 75 $(BINDIR) : FORCE 76 [ -d $@ ] || mkdir -p $@ 77 78 $(BINDIR)/% : %.c 79 cc -O -o $@ $*.c 80 echo BIN: $@ 81 82 $(BINDIR)/% : % 83 cp $* $@ 84 chmod +x $@ 85 echo SBIN: $@ 86 87 ../ETC/% : % 88 echo Install ETC $< 89 cp $< $@ 90 91 $(I18N_POT) : $(I18N_SRC) 92 echo "POT file : $@" 93 if [ -f $@ ] ; then \ 94 /usr/sfw/bin/xgettext -o $@ -j $(I18N_SRC) ; \ 95 else \ 96 /usr/sfw/bin/xgettext -o $@ $(I18N_SRC) ; \ 97 fi 98 99 %.mo : %.po 100 L=`dirname $@` ;\ 101 echo "MO file : $@ ($$L)" ; 102 /usr/sfw/bin/msgfmt -c -v -o $@ $< 103 touch $@ 104 105 $(I18N_PO) : $(I18N_POT) 106 L=`dirname $@` ;\ 107 [ -d $$L ] || mkdir -p $$L ; \ 108 echo "PO file : $@ ($$L) $<" ;\ 109 if [ ! -f $@ ] ; then \ 110 /usr/sfw/bin/msginit --no-translator -l $$L -i $(I18N_POT) -o $@ ;\ 111 else \ 112 /usr/sfw/bin/msgmerge -v -s -U $@ $(I18N_POT) ;\ 113 fi 114 touch $@ 115 116 FORCE:
Date de génération : 22/09/2011 21:47