Realisation d'un(e) Makefile utilisable avec cygwin

Fathilde Messages postés 16 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 19 mai 2009 - 6 mai 2009 à 11:02
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 14 mai 2009 à 19:38
Bonjour, toujours dans le cadre de mon stage (et oui j'ai du mal...) je dois réaliser un(e) makefile, je ne connais pas du tout, j'ai testé quelques tutoriels mais j'ai du mal. J'ai un programme (qui marche<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://www.codes-sources.com/imgs2/smile_big.gif" src="file:///C:\DOCUME~1\MATHIL~1.BOU\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>) en C++ que j'ai réalisé avec C++ builder. Avec ce même logiciel j'exporte "le fichier make". Je ne vois déjà guère de ressemblance avec les makefile que j'ai pu trouver sur le net et je n'arrive pas à le (la) compiler avec cygwin (je suis obligé d'utiliser cygwin pour la suite du projet).Merci pour vos explications
Voici le (la) makefile créée par C++ builder:




(makefile.mak)


# ---------------------------------------------------------------------------
!if !$d(BCB)
BCB = $(MAKEDIR)\..
!endif


# ---------------------------------------------------------------------------
# Section EDI
# ---------------------------------------------------------------------------
# La section suivante du Makefile du projet est gérée par l'EDI de BCB.
# Il est recommandé d'utiliser l'EDI pour modifier les valeurs de cette
# section.
# ---------------------------------------------------------------------------


VERSION = BCB.05.03
# ---------------------------------------------------------------------------
PROJECT = Bin\ActiveTagDEMO.exe
OBJFILES = Obj\Serial.obj Obj\MWFrameBuilder.obj Obj\MWFrameReceiver.obj \
    Obj\MWSerial.obj Obj\MWControl.obj Obj\MWControllerDLL.obj Obj\MWDEMO.objRESFILES MAINSOURCE ActiveTagDEMO.bpf
RESDEPEN = $(RESFILES)LIBFILES IDLFILES IDLGENFILES LIBRARIES
PACKAGES = Vcl50.bpi
SPARELIBS = Vcl50.lib
DEFFILE =
# ---------------------------------------------------------------------------
PATHCPP = .;
PATHASM = .;
PATHPAS = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
USERDEFINES = _DEBUG
SYSDEFINES = NO_STRICT;_NO_VCL;_RTLDLL
INCLUDEPATH = $(BCB)\include;$(BCB)\include\vcl
LIBPATH = $(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib;"Z:"
WARNINGS= -w-par
# ---------------------------------------------------------------------------
CFLAG1 = -Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -tWC \
    -tWM -cIDLCFLAGS PFLAGS -N2Obj -N0Obj -$Y+ -$W -$O- -v -JPHNE -MRFLAGS AFLAGS /mx /w2 /zi
LFLAGS = -IObj -D"" -ap -Tpe -x -Gn -v
# ---------------------------------------------------------------------------
ALLOBJ = c0x32.obj $(PACKAGES) $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cw32i.lib
# ---------------------------------------------------------------------------
!ifdef IDEOPTIONS


[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0


[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=


[Debugging]
DebugSourceDirs=$(BCB)\source\vcl


!endif


 


 


# ---------------------------------------------------------------------------
# SECTION MAKE
# ---------------------------------------------------------------------------
# Cette section du fichier projet n'est pas utilisée par l'EDI de BCB. Elle est destinéee
# à la construction à partir de la ligne de commande en utilisant l'utilitaire MAKE.
# ---------------------------------------------------------------------------


.autodepend
# ---------------------------------------------------------------------------
!if "$(USERDEFINES)" != ""
AUSERDEFINES = -d$(USERDEFINES:;= -d)
!else
AUSERDEFINES =
!endif


!if !$d(BCC32)
BCC32 = bcc32
!endif


!if !$d(CPP32)
CPP32 = cpp32
!endif


!if !$d(DCC32)
DCC32 = dcc32
!endif


!if !$d(TASM32)
TASM32 = tasm32
!endif


!if !$d(LINKER)
LINKER = ilink32
!endif


!if !$d(BRCC32)
BRCC32 = brcc32
!endif




# ---------------------------------------------------------------------------
!if $d(PATHCPP)
.PATH.CPP = $(PATHCPP)
.PATH.C   = $(PATHCPP)
!endif


!if $d(PATHPAS)
.PATH.PAS = $(PATHPAS)
!endif


!if $d(PATHASM)
.PATH.ASM = $(PATHASM)
!endif


!if $d(PATHRC)
.PATH.RC  = $(PATHRC)
!endif
# ---------------------------------------------------------------------------
$(PROJECT): $(IDLGENFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
    $(BCB)\BIN\$(LINKER) @&&!
    $(LFLAGS) -L$(LIBPATH) +
    $(ALLOBJ), +
    $(PROJECT),, +
    $(ALLLIB), +
    $(DEFFILE), +
    $(ALLRES)
!
# ---------------------------------------------------------------------------
.pas.hpp:
    $(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }


.pas.obj:
    $(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }


.cpp.obj:
    $(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }


.c.obj:
    $(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }


.c.i:
    $(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }


.cpp.i:
    $(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }


.asm.obj:
    $(BCB)\BIN\$(TASM32) $(AFLAGS) -i$(INCLUDEPATH:;= -i) $(AUSERDEFINES) -d$(SYSDEFINES:;= -d) $<, $@


.rc.res:
    $(BCB)\BIN\$(BRCC32) $(RFLAGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
# ---------------------------------------------------------------------------


 




 

1 réponse

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
14 mai 2009 à 19:38
Salut,

BCB, Ca veut dire Borland C++ Builder, TASM32, c'est Borland Turbo Assembler 32...
Bref, ce Makefile est très orienté Borland.

A ta place, je le réécrirais de zéro pour le rendre plus propre, à l'aide d'un tuto sur le net.
0
Rejoignez-nous