VC++ : faire un makefile ?

VC++ : faire un makefile ? - C++ - Programmation

Marsh Posté le 07-09-2003 à 11:12:39    

lu
 
je voudrais faire un makefile VC++ où les fichiers  .c sont compilés de la sorte :
 
define DINT puis AA.c -> A_di_A.obj
define DLONG puis AA.c -> A_dl_A.obj
 
define DINT puis AB.c -> A_di_B.obj
define DLONG puis AB.c -> A_dl_B.obj
 
puis mettre les 4 fichiers dans un .lib
 
merci
 
(et si y'a moyen de porter un makefile gcc sous vc++, je prends aussi)

Reply

Marsh Posté le 07-09-2003 à 11:12:39   

Reply

Marsh Posté le 09-09-2003 à 17:51:13    

Si tu sais faire des makefile sous Linux, c'est pareil avec VC++
 
vla en gros ton makefile
 
CPP = cl.exe
LIB32 = link.exe -lib
OUTDIR = .
SRCDIR = .
OBJS= \
  "$(OUTDIR)\A_di_A.obj" \
  ...
 
CFLAGS1 = /D "INT"
CFLAGS2 = /D "LONG"
 
all : "$(OUTDIR)\mylib.lib"
 
"$(OUTDIR)\mylib.lib" : $(OBJS)
 $(LIB32) $(OBJS)
 
"$(OUTDIR)\A_di_A.obj" : "$(SRCDIR)\AA.c"
 $(CPP) $(CFLAGS1) /c "$(SRCDIR)\AA.c" /Fo"$(OUTDIR)\A_di_A.obj"
 
...
 
Mais je vois pas trop l'intéret d'avoir dans un meme fichier source des fonctions differentes suivant des options de compilation. Autant faire deux fichiers separes.

Reply

Marsh Posté le 09-09-2003 à 21:48:08    

ok merci hellbilly.
 
en fait ils ont pas ecrit 2 fois les memes fonctions... la tech des codeurs de ce truc (umfpack) est pas pratique pour compiler, mais bon, voilà leur tech si ca interresse :
 
dans un header :
#ifdef DLONG
#define UMF_analyze   umf_l_analyze
...
#else
#define UMF_analyze   umf_i_analyze
...
#endif
 
dans umf_analyse.c :
GLOBAL Int UMF_analyze(Int n_row,Int n_col,.....){......}
 
dans un autre entete :
#if defined (DLONG)
#define Int long
...
#else
#define Int int
...
#endif

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed