Newsgroup: it.comp.lang.c
Titolo: Sintassi con simboli strani %if  $(examplesOut)$(tstdir)...

Non so se avete mai sentito parlare delle mdl di Microstation (programma 
cad)...
Le mdl son sono altro che programmini dll (la m sta per Microstation) 
scritte in C.
 
La compilazione avviene utilizzando il compilatore di Microstation e il 
codice viene scritto su file con estensione .mc.
Oltre al codice sorgente (scritto in C), ci sono altri file che servono 
al compilatore.
Uno dei tanti file (estensione .MKI) è scritto in un linguaggio che non 
è C. Sapete dirmi a quale linguaggio si riferisce?
Il simbolo % e $ cosa indicano?
 
Grazie
nero23
 
 
parziale del codice riportato sul file file.mki
 
%if	!vax
     src		= $(MSMDE)/mdl/examples/
     mdlexample  = $(MSMDE)/mdl/examples/
     examplesOut	= $(MSO)/mdlexmpl/
 
     o           = $(examplesOut)objects/
%if !defined (BSI) || !defined (genSrc)
     genSrc      = $(examplesOut)objects/
%endif
     rscObjects	= $(examplesOut)rscobj/
     reqdObjs	= $(examplesOut)intermed/
 
%else	# VAX definitions
     src		= MSMDE:[mdl.examples]
     mdlexample 	= MSMDE:[mdl.examples]
     examplesOut	= MSO:[mdlexmpl]
 
     o		= MSO:[mdlexmpl.objects]
%if !defined (BSI) || !defined (genSrc)
     genSrc	= MSO:[mdlexmpl.objects]
%endif
     rscObjects	= MSO:[mdlexmpl.rscobj]
     reqdObjs	= MSO:[mdlexmpl.intermed]
%endif
 
#----------------------------------------------------------
#	Create needed output directories if they dont exist
#----------------------------------------------------------
$(examplesOut)$(tstdir):	$(examplesOut)$(tstdir)
 
$(o)$(tstdir):			$(o)$(tstdir)
 
$(genSrc)$(tstdir):		$(genSrc)$(tstdir)
 
$(rscObjects)$(tstdir):		$(rscObjects)$(tstdir)
 
$(reqdObjs)$(tstdir):		$(reqdObjs)$(tstdir)

 Sapete dirmi a quale linguaggio si riferisce?
 
Si, sappiamo a quale linguaggio si riferisce.
 
http://lmgtfy.com/?q=mki+mdi+microstation
 


Sembra una specie di makefile
 

 Sapete dirmi a quale linguaggio si riferisce?
 
Si, sappiamo a quale linguaggio si riferisce.
 
http://lmgtfy.com/?q=mki+mdl+microstation
 


 
Grazie. Almeno posso partire da qualcosa.
Ciao

 
 
Sì, ho scritto in MDL per anni.
Come ti hanno detto, i .mki sono i makefile, e la sintassi è più o meno quella
dei makefile classici (in questo caso % per il preprocessore e $() per la
sostituzione di variabile). Ci sono altri tipi di file che servono in
compilazione, ma sono tutti abbastanza semplici da capire e usare partendo
da un template.
 
Ti do anche due suggerimenti.
Come primissima cosa tieni presente che MDL è C89 però non proprio proprio
standard: cerca di scrivere le cose semplici, che il compilatore è quello che
è.
Come seconda cosa, ci sono alternative allo sviluppo microstation: puoi ad
esempio programmare in C/C++ e richiamare le API MDL C linkando la libreria
MS, oppure scrivere in .NET e utilizzare il framework microstation .NET.
A seconda di cosa devi fare, ovviamente, scegli di conseguenza!
 
Ciao!

 A seconda di cosa devi fare, ovviamente, scegli di conseguenza!
 
 
Grazie.
 
Ho gi� fatto qualcosa in .net sia per Microstation SE che per 
Microstation 2004 (MS 2004 pi� facile :) )
 
Sto studiando il C per poter fare qualcosa con le mdl (per semplice 
curiosit�..)
 
Hai qualche sito/pdf di riferimento da cui posso partire con comprendere 
i makefile?
 
ciao
 

 
 
Purtroppo no, dove lavoravo vigeva (e vige) ancora la buona vecchia
tradizione orale :)
Comunque, come ti ho detto, per gli standard di oggi è roba "semplice" che
puoi scoprire smanettando un po': non ti aspettare grande intelligenza da
parte dei tool che MS mette a disposizione (devi pensare che è roba 
veramente vecchia e non so quanto più sviluppata, visto che da quanto ne so
gli sforzi sono andati sullo sviluppo delle nuove API, mantenendo quel layer
solo per retrocompatibilità).
 
Ciao!