Realisation d'un(e) Makefile utilisable avec cygwin

Signaler
Messages postés
16
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
19 mai 2009
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
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

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
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.