Changeset f5bef2 in git for Singular


Ignore:
Timestamp:
Aug 12, 2011, 9:11:26 PM (13 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
Children:
736288b17e091e09b40a78ee266cf94e73f9005f
Parents:
e7e815050f6c74d4fc691c162a9a76687b36c5c3
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2011-08-12 21:11:26+02:00
git-committer:
Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 16:12:18+01:00
Message:
FIX: finished ipshell (together with Burcin)
ADD: Singular build target
Location:
Singular
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/ipshell.cc

    re7e815 rf5bef2  
    5656#include <polys/ext_fields/algext.h>
    5757#include <coeffs/mpr_complex.h>
    58 ////// #include <coeffs/longrat.h>
     58#include <coeffs/longrat.h>
    5959#include <numeric/mpr_base.h>
    6060#include <numeric/mpr_numeric.h>
     
    706706      }
    707707      tmpW.data=IDDATA(w);
    708       #if 0
     708#if 0
    709709      if (((tmpW.rtyp==IDEAL_CMD)||(tmpW.rtyp==MODUL_CMD)) && idIs0(IDIDEAL(w)))
    710710      {
     
    713713      }
    714714      else
    715       #endif
    716       {
    717         #ifdef FAST_MAP
    718         if ((tmpW.rtyp==IDEAL_CMD) && (nMap==nCopy)
    719         #ifdef HAVE_PLURAL
     715#endif
     716      {
     717#ifdef FAST_MAP
     718        if ((tmpW.rtyp==IDEAL_CMD) && (nMap == ndCopyMap)
     719#ifdef HAVE_PLURAL
    720720        && (!rIsPluralRing(currRing))
    721         #endif
     721#endif
    722722        )
    723723        {
     
    726726        }
    727727        else
    728         #endif
     728#endif
    729729        if (maApplyFetch(MAP_CMD,theMap,v,&tmpW,IDRING(r),NULL,NULL,0,nMap))
    730730        {
     
    16521652  // 3: qideal
    16531653  L->m[3].rtyp=IDEAL_CMD;
    1654   if (R->minpoly==NULL)
     1654  if (rMinpolyIsNULL(R))
    16551655    L->m[3].data=(void *)idInit(1,1);
    16561656  else
    16571657  {
    1658     ideal I=idInit(1,1);
    1659     L->m[3].data=(void *)I;
    1660     I->m[0]=pNSet(R->minpoly);
     1658    const ring RR = R->cf->extRing;
     1659   
     1660    L->m[3].data=(void *) idCopy(RR->minideal, RR);
     1661//    I->m[0] = pNSet(R->minpoly);
    16611662  }
    16621663  // ----------------------------------------
     
    17301731{
    17311732  // sanity check: require currRing==r for rings with polynomial data
    1732   if ((r!=currRing)
    1733   && ((r->minpoly!=NULL) || (r->qideal!=NULL) || (r->minideal!=NULL)
     1733  if ( (r!=currRing) && (!rMinpolyIsNULL(r)
    17341734#ifdef HAVE_PLURAL
    17351735  || (rIsPluralRing(r))
     
    21242124      if (LL->m[0].Typ()==INT_CMD)
    21252125      {       
    2126         ch = (int)(long)LL->m[0].Data();
     2126        int ch = (int)(long)LL->m[0].Data();
    21272127
    21282128        if( ch != 0 ) // TODO: GF-Test ch!
     
    21582158          extRing->qideal = NULL; // ???
    21592159
    2160           R->cf = nInitChar(type, (void*)&extParam);
     2160          R->cf = nInitChar(n_algExt, (void*)&extParam);
    21612161        } else // Transcendental extension
    21622162        {
    21632163          TransExtInfo extParam;
    2164           extParam.r = r;
     2164          extParam.r = extRing;
    21652165
    21662166          R->cf = nInitChar(n_transExt, &extParam);
     
    23882388
    23892389// currently, coefficients which are ring elements require a global ordering:
    2390   if (rField_is_Ring(R) && (R->pOrdSgn==-1))
     2390  if (rField_is_Ring(R) && (R->OrdSgn==-1))
    23912391  {
    23922392    WerrorS("global ordering required for these coefficients");
     
    24352435            par_perm_size=rPar(orig_ring);
    24362436            BITSET save_test=test;
    2437             if ((orig_ring->minpoly != NULL) || (orig_ring->minideal != NULL))
    2438               naSetChar(rInternalChar(orig_ring),orig_ring);
    2439             else naSetChar(rInternalChar(orig_ring),orig_ring);
     2437           
     2438//            if ((orig_ring->minpoly != NULL) || (orig_ring->minideal != NULL))
     2439//              naSetChar(rInternalChar(orig_ring),orig_ring);
     2440//            else ntSetChar(rInternalChar(orig_ring),orig_ring);
     2441           
    24402442            nSetChar(currRing->cf);
    24412443            test=save_test;
     
    30303032};
    30313033
     3034// from splist.cc
     3035// ----------------------------------------------------------------------------
     3036//  Compute the spectrum of a  spectrumPolyList
     3037// ----------------------------------------------------------------------------
     3038
     3039/* former spectrumPolyList::spectrum ( lists*, int) */
     3040spectrumState   spectrumStateFromList( spectrumPolyList& speclist, lists *L,int fast )
     3041{
     3042  spectrumPolyNode  **node = &speclist.root;
     3043  spectrumPolyNode  *search;
     3044
     3045  poly              f,tmp;
     3046  int               found,cmp;
     3047
     3048  Rational smax( ( fast==0 ? 0 : rVar(currRing) ),
     3049                 ( fast==2 ? 2 : 1 ) );
     3050
     3051  Rational weight_prev( 0,1 );
     3052
     3053  int     mu = 0;          // the milnor number
     3054  int     pg = 0;          // the geometrical genus
     3055  int     n  = 0;          // number of different spectral numbers
     3056  int     z  = 0;          // number of spectral number equal to smax
     3057
     3058  int     k = 0;
     3059
     3060  while( (*node)!=(spectrumPolyNode*)NULL &&
     3061         ( fast==0 || (*node)->weight<=smax ) )
     3062  {
     3063        // ---------------------------------------
     3064        //  determine the first normal form which
     3065        //  contains the monomial  node->mon
     3066        // ---------------------------------------
     3067
     3068    found  = FALSE;
     3069    search = *node;
     3070
     3071    while( search!=(spectrumPolyNode*)NULL && found==FALSE )
     3072    {
     3073      if( search->nf!=(poly)NULL )
     3074      {
     3075        f = search->nf;
     3076
     3077        do
     3078        {
     3079                    // --------------------------------
     3080                    //  look for  (*node)->mon  in   f
     3081                    // --------------------------------
     3082
     3083          cmp = pCmp( (*node)->mon,f );
     3084
     3085          if( cmp<0 )
     3086          {
     3087            f = pNext( f );
     3088          }
     3089          else if( cmp==0 )
     3090          {
     3091                        // -----------------------------
     3092                        //  we have found a normal form
     3093                        // -----------------------------
     3094
     3095            found = TRUE;
     3096
     3097                        //  normalize coefficient
     3098
     3099            number inv = nInvers( pGetCoeff( f ) );
     3100            pMult_nn( search->nf,inv );
     3101            nDelete( &inv );
     3102
     3103                        //  exchange  normal forms
     3104
     3105            tmp         = (*node)->nf;
     3106            (*node)->nf = search->nf;
     3107            search->nf  = tmp;
     3108          }
     3109        }
     3110        while( cmp<0 && f!=(poly)NULL );
     3111      }
     3112      search = search->next;
     3113    }
     3114
     3115    if( found==FALSE )
     3116    {
     3117            // ------------------------------------------------
     3118            //  the weight of  node->mon  is a spectrum number
     3119            // ------------------------------------------------
     3120
     3121      mu++;
     3122
     3123      if( (*node)->weight<=(Rational)1 )              pg++;
     3124      if( (*node)->weight==smax )           z++;
     3125      if( (*node)->weight>weight_prev )     n++;
     3126
     3127      weight_prev = (*node)->weight;
     3128      node = &((*node)->next);
     3129    }
     3130    else
     3131    {
     3132            // -----------------------------------------------
     3133            //  determine all other normal form which contain
     3134            //  the monomial  node->mon
     3135            //  replace for  node->mon  its normal form
     3136            // -----------------------------------------------
     3137
     3138      while( search!=(spectrumPolyNode*)NULL )
     3139      {
     3140        if( search->nf!=(poly)NULL )
     3141        {
     3142          f = search->nf;
     3143
     3144          do
     3145          {
     3146                        // --------------------------------
     3147                        //  look for  (*node)->mon  in   f
     3148                        // --------------------------------
     3149
     3150            cmp = pCmp( (*node)->mon,f );
     3151
     3152            if( cmp<0 )
     3153            {
     3154              f = pNext( f );
     3155            }
     3156            else if( cmp==0 )
     3157            {
     3158              search->nf = pSub( search->nf,
     3159                                 ppMult_nn( (*node)->nf,pGetCoeff( f ) ) );
     3160              pNorm( search->nf );
     3161            }
     3162          }
     3163          while( cmp<0 && f!=(poly)NULL );
     3164        }
     3165        search = search->next;
     3166      }
     3167      speclist.delete_node( node );
     3168    }
     3169
     3170  }
     3171
     3172    // --------------------------------------------------------
     3173    //  fast computation exploits the symmetry of the spectrum
     3174    // --------------------------------------------------------
     3175
     3176  if( fast==2 )
     3177  {
     3178    mu = 2*mu - z;
     3179    n  = ( z > 0 ? 2*n - 1 : 2*n );
     3180  }
     3181
     3182    // --------------------------------------------------------
     3183    //  compute the spectrum numbers with their multiplicities
     3184    // --------------------------------------------------------
     3185
     3186  intvec            *nom  = new intvec( n );
     3187  intvec            *den  = new intvec( n );
     3188  intvec            *mult = new intvec( n );
     3189
     3190  int count         = 0;
     3191  int multiplicity  = 1;
     3192
     3193  for( search=speclist.root; search!=(spectrumPolyNode*)NULL &&
     3194              ( fast==0 || search->weight<=smax );
     3195       search=search->next )
     3196  {
     3197    if( search->next==(spectrumPolyNode*)NULL ||
     3198        search->weight<search->next->weight )
     3199    {
     3200      (*nom) [count] = search->weight.get_num_si( );
     3201      (*den) [count] = search->weight.get_den_si( );
     3202      (*mult)[count] = multiplicity;
     3203
     3204      multiplicity=1;
     3205      count++;
     3206    }
     3207    else
     3208    {
     3209      multiplicity++;
     3210    }
     3211  }
     3212
     3213    // --------------------------------------------------------
     3214    //  fast computation exploits the symmetry of the spectrum
     3215    // --------------------------------------------------------
     3216
     3217  if( fast==2 )
     3218  {
     3219    int n1,n2;
     3220    for( n1=0, n2=n-1; n1<n2; n1++, n2-- )
     3221    {
     3222      (*nom) [n2] = rVar(currRing)*(*den)[n1]-(*nom)[n1];
     3223      (*den) [n2] = (*den)[n1];
     3224      (*mult)[n2] = (*mult)[n1];
     3225    }
     3226  }
     3227
     3228    // -----------------------------------
     3229    //  test if the spectrum is symmetric
     3230    // -----------------------------------
     3231
     3232  if( fast==0 || fast==1 )
     3233  {
     3234    int symmetric=TRUE;
     3235
     3236    for( int n1=0, n2=n-1 ; n1<n2 && symmetric==TRUE; n1++, n2-- )
     3237    {
     3238      if( (*mult)[n1]!=(*mult)[n2] ||
     3239          (*den) [n1]!= (*den)[n2] ||
     3240          (*nom)[n1]+(*nom)[n2]!=rVar(currRing)*(*den) [n1] )
     3241      {
     3242        symmetric = FALSE;
     3243      }
     3244    }
     3245
     3246    if( symmetric==FALSE )
     3247    {
     3248            // ---------------------------------------------
     3249            //  the spectrum is not symmetric => degenerate
     3250            //  principal part
     3251            // ---------------------------------------------
     3252
     3253      *L = (lists)omAllocBin( slists_bin);
     3254      (*L)->Init( 1 );
     3255      (*L)->m[0].rtyp = INT_CMD;    //  milnor number
     3256      (*L)->m[0].data = (void*)mu;
     3257
     3258      return spectrumDegenerate;
     3259    }
     3260  }
     3261
     3262  *L = (lists)omAllocBin( slists_bin);
     3263
     3264  (*L)->Init( 6 );
     3265
     3266  (*L)->m[0].rtyp = INT_CMD;    //  milnor number
     3267  (*L)->m[1].rtyp = INT_CMD;    //  geometrical genus
     3268  (*L)->m[2].rtyp = INT_CMD;    //  number of spectrum values
     3269  (*L)->m[3].rtyp = INTVEC_CMD; //  nominators
     3270  (*L)->m[4].rtyp = INTVEC_CMD; //  denomiantors
     3271  (*L)->m[5].rtyp = INTVEC_CMD; //  multiplicities
     3272
     3273  (*L)->m[0].data = (void*)mu;
     3274  (*L)->m[1].data = (void*)pg;
     3275  (*L)->m[2].data = (void*)n;
     3276  (*L)->m[3].data = (void*)nom;
     3277  (*L)->m[4].data = (void*)den;
     3278  (*L)->m[5].data = (void*)mult;
     3279
     3280  return  spectrumOK;
     3281}
     3282
    30323283spectrumState   spectrumCompute( poly h,lists *L,int fast )
    30333284{
     
    33103561  //  compute the spectrum of  h
    33113562  // ----------------------------
    3312 
    3313   return  NF.spectrum( L,fast );
     3563//  spectrumState spectrumStateFromList( spectrumPolyList& speclist, lists *L, int fast );
     3564
     3565  return spectrumStateFromList(NF, L, fast );
    33143566}
    33153567
     
    37784030
    37794031  return  semicProc3(res,u,v,&tmp);
    3780 }
    3781 // from splist.cc
    3782 // ----------------------------------------------------------------------------
    3783 //  Compute the spectrum of a  spectrumPolyList
    3784 // ----------------------------------------------------------------------------
    3785 
    3786 /* former spectrumPolyList::spectrum ( lists*, int) */
    3787 spectrumState   spectrumStateFromList( spectrumPolyList& speclist, lists *L,int fast )
    3788 {
    3789     spectrumPolyNode  **node = &speclist.root;
    3790     spectrumPolyNode  *search;
    3791 
    3792     poly              f,tmp;
    3793     int               found,cmp;
    3794 
    3795     Rational smax( ( fast==0 ? 0 : rVar(currRing) ),
    3796                    ( fast==2 ? 2 : 1 ) );
    3797 
    3798     Rational weight_prev( 0,1 );
    3799 
    3800     int     mu = 0;          // the milnor number
    3801     int     pg = 0;          // the geometrical genus
    3802     int     n  = 0;          // number of different spectral numbers
    3803     int     z  = 0;          // number of spectral number equal to smax
    3804 
    3805     int     k = 0;
    3806 
    3807     while( (*node)!=(spectrumPolyNode*)NULL &&
    3808            ( fast==0 || (*node)->weight<=smax ) )
    3809     {
    3810         // ---------------------------------------
    3811         //  determine the first normal form which
    3812         //  contains the monomial  node->mon
    3813         // ---------------------------------------
    3814 
    3815         found  = FALSE;
    3816         search = *node;
    3817 
    3818         while( search!=(spectrumPolyNode*)NULL && found==FALSE )
    3819         {
    3820             if( search->nf!=(poly)NULL )
    3821             {
    3822                 f = search->nf;
    3823 
    3824                 do
    3825                 {
    3826                     // --------------------------------
    3827                     //  look for  (*node)->mon  in   f
    3828                     // --------------------------------
    3829 
    3830                     cmp = pCmp( (*node)->mon,f );
    3831 
    3832                     if( cmp<0 )
    3833                     {
    3834                         f = pNext( f );
    3835                     }
    3836                     else if( cmp==0 )
    3837                     {
    3838                         // -----------------------------
    3839                         //  we have found a normal form
    3840                         // -----------------------------
    3841 
    3842                         found = TRUE;
    3843 
    3844                         //  normalize coefficient
    3845 
    3846                         number inv = nInvers( pGetCoeff( f ) );
    3847                         pMult_nn( search->nf,inv );
    3848                         nDelete( &inv );
    3849 
    3850                         //  exchange  normal forms
    3851 
    3852                         tmp         = (*node)->nf;
    3853                         (*node)->nf = search->nf;
    3854                         search->nf  = tmp;
    3855                     }
    3856                 }
    3857                 while( cmp<0 && f!=(poly)NULL );
    3858             }
    3859             search = search->next;
    3860         }
    3861 
    3862         if( found==FALSE )
    3863         {
    3864             // ------------------------------------------------
    3865             //  the weight of  node->mon  is a spectrum number
    3866             // ------------------------------------------------
    3867 
    3868             mu++;
    3869 
    3870             if( (*node)->weight<=(Rational)1 )              pg++;
    3871             if( (*node)->weight==smax )           z++;
    3872             if( (*node)->weight>weight_prev )     n++;
    3873 
    3874             weight_prev = (*node)->weight;
    3875             node = &((*node)->next);
    3876         }
    3877         else
    3878         {
    3879             // -----------------------------------------------
    3880             //  determine all other normal form which contain
    3881             //  the monomial  node->mon
    3882             //  replace for  node->mon  its normal form
    3883             // -----------------------------------------------
    3884 
    3885             while( search!=(spectrumPolyNode*)NULL )
    3886             {
    3887                     if( search->nf!=(poly)NULL )
    3888                 {
    3889                     f = search->nf;
    3890 
    3891                     do
    3892                     {
    3893                         // --------------------------------
    3894                         //  look for  (*node)->mon  in   f
    3895                         // --------------------------------
    3896 
    3897                         cmp = pCmp( (*node)->mon,f );
    3898 
    3899                         if( cmp<0 )
    3900                         {
    3901                             f = pNext( f );
    3902                         }
    3903                         else if( cmp==0 )
    3904                         {
    3905                             search->nf = pSub( search->nf,
    3906                                 ppMult_nn( (*node)->nf,pGetCoeff( f ) ) );
    3907                             pNorm( search->nf );
    3908                         }
    3909                     }
    3910                     while( cmp<0 && f!=(poly)NULL );
    3911                 }
    3912                 search = search->next;
    3913             }
    3914             speclist.delete_node( node );
    3915         }
    3916 
    3917     }
    3918 
    3919     // --------------------------------------------------------
    3920     //  fast computation exploits the symmetry of the spectrum
    3921     // --------------------------------------------------------
    3922 
    3923     if( fast==2 )
    3924     {
    3925         mu = 2*mu - z;
    3926         n  = ( z > 0 ? 2*n - 1 : 2*n );
    3927     }
    3928 
    3929     // --------------------------------------------------------
    3930     //  compute the spectrum numbers with their multiplicities
    3931     // --------------------------------------------------------
    3932 
    3933     intvec            *nom  = new intvec( n );
    3934     intvec            *den  = new intvec( n );
    3935     intvec            *mult = new intvec( n );
    3936 
    3937     int count         = 0;
    3938     int multiplicity  = 1;
    3939 
    3940     for( search=speclist.root; search!=(spectrumPolyNode*)NULL &&
    3941                      ( fast==0 || search->weight<=smax );
    3942                      search=search->next )
    3943     {
    3944         if( search->next==(spectrumPolyNode*)NULL ||
    3945             search->weight<search->next->weight )
    3946         {
    3947             (*nom) [count] = search->weight.get_num_si( );
    3948             (*den) [count] = search->weight.get_den_si( );
    3949             (*mult)[count] = multiplicity;
    3950 
    3951             multiplicity=1;
    3952             count++;
    3953         }
    3954         else
    3955         {
    3956             multiplicity++;
    3957         }
    3958     }
    3959 
    3960     // --------------------------------------------------------
    3961     //  fast computation exploits the symmetry of the spectrum
    3962     // --------------------------------------------------------
    3963 
    3964     if( fast==2 )
    3965     {
    3966         int n1,n2;
    3967         for( n1=0, n2=n-1; n1<n2; n1++, n2-- )
    3968         {
    3969             (*nom) [n2] = rVar(currRing)*(*den)[n1]-(*nom)[n1];
    3970             (*den) [n2] = (*den)[n1];
    3971             (*mult)[n2] = (*mult)[n1];
    3972         }
    3973     }
    3974 
    3975     // -----------------------------------
    3976     //  test if the spectrum is symmetric
    3977     // -----------------------------------
    3978 
    3979     if( fast==0 || fast==1 )
    3980     {
    3981         int symmetric=TRUE;
    3982 
    3983         for( int n1=0, n2=n-1 ; n1<n2 && symmetric==TRUE; n1++, n2-- )
    3984         {
    3985             if( (*mult)[n1]!=(*mult)[n2] ||
    3986                 (*den) [n1]!= (*den)[n2] ||
    3987                 (*nom)[n1]+(*nom)[n2]!=rVar(currRing)*(*den) [n1] )
    3988             {
    3989                 symmetric = FALSE;
    3990             }
    3991         }
    3992 
    3993         if( symmetric==FALSE )
    3994         {
    3995             // ---------------------------------------------
    3996             //  the spectrum is not symmetric => degenerate
    3997             //  principal part
    3998             // ---------------------------------------------
    3999 
    4000             *L = (lists)omAllocBin( slists_bin);
    4001             (*L)->Init( 1 );
    4002             (*L)->m[0].rtyp = INT_CMD;    //  milnor number
    4003             (*L)->m[0].data = (void*)mu;
    4004 
    4005             return spectrumDegenerate;
    4006         }
    4007     }
    4008 
    4009     *L = (lists)omAllocBin( slists_bin);
    4010 
    4011     (*L)->Init( 6 );
    4012 
    4013     (*L)->m[0].rtyp = INT_CMD;    //  milnor number
    4014     (*L)->m[1].rtyp = INT_CMD;    //  geometrical genus
    4015     (*L)->m[2].rtyp = INT_CMD;    //  number of spectrum values
    4016     (*L)->m[3].rtyp = INTVEC_CMD; //  nominators
    4017     (*L)->m[4].rtyp = INTVEC_CMD; //  denomiantors
    4018     (*L)->m[5].rtyp = INTVEC_CMD; //  multiplicities
    4019 
    4020     (*L)->m[0].data = (void*)mu;
    4021     (*L)->m[1].data = (void*)pg;
    4022     (*L)->m[2].data = (void*)n;
    4023     (*L)->m[3].data = (void*)nom;
    4024     (*L)->m[4].data = (void*)den;
    4025     (*L)->m[5].data = (void*)mult;
    4026 
    4027     return  spectrumOK;
    40284032}
    40294033
     
    51465150#ifdef HABE_RINGS
    51475151// currently, coefficients which are ring elements require a global ordering:
    5148   if (rField_is_Ring(R) && (R->pOrdSgn==-1))
     5152  if (rField_is_Ring(R) && (R->OrdSgn==-1))
    51495153  {
    51505154    WerrorS("global ordering required for these coefficients");
  • Singular/makefile

    re7e815 rf5bef2  
    117117   pcv.cc\
    118118   pipeLink.cc\
    119    pyobject.cc\
    120    pyobject_setup.cc\
    121119   scanner.cc\
    122120   sdb.cc\
     
    133131   walk_ip.cc\
    134132   wrapper.cc
     133
     134#   pyobject.cc  pyobject_setup.cc
    135135
    136136CXXSOURCES2     = SingularBuilder.cpp
     
    221221all:    Singular
    222222
    223 Singular:  ${OBJS}
     223Singular: ${OBJS}
     224        $(CXX) ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} ${OBJS} -o $@ -L. -L../kernel -lkernel ${LIBPOLYS_LIBS} -lntl -ldl -lgmp
     225
    224226
    225227##
     
    303305        $(CCG)  ${CFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
    304306
    305 libkernel_g.a: ${OBJG} ${OBJSG2}
    306         -rm -f libkernel_g.a
    307         ar cr $@ ${OBJG}
    308 
    309 
    310307
    311308##
     
    344341        $(CCP)  ${CFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
    345342
    346 libkernel_p.a: ${OBJP} ${OBJSP2}
    347         -rm -f libkernel_p.a
    348         ar cr $@ ${OBJP}
    349 
    350343##
    351344## dependencies
     
    370363# My headers test
    371364# test: test.o
    372 
    373 test.o: test.cc feOpt.inc
    374         $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSG} -c $< -o $@
    375365
    376366feOpt.inc: feOpt.cc
Note: See TracChangeset for help on using the changeset viewer.