Win32Serial Extension Library for Ruby

Ciao a tutti, sto provando a compilare dei file c che ho trovato al link
http://grub.ath.cx/win32serial/, e che fanno parte di una libreria che
mi
dovrebbe permettere l’accesso tramite seriale da windows. Naturalmente
da
novizio che sono nell’argomento, non sono riuscito a fare la
compilazione,
quindi volevo chiedere aiuto a voi. I passi che ho seguito sono i
seguenti:

  1. creazione del makefile con ruby extconf.rb

  2. installazione di MinGW che mi perpette di usare gcc e make da
    windows.
    Funzionano in quanto se controllo la versione mi danno esito positivo

    $ gcc -v

    Thread model: win32
    gcc version 3.4.5 (mingw special)

    $ make -v
    GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.

  3. lanco il comando make sperando che tutto funzioni, ma mi ritrovo il
    messaggio seguente

    $ make
    Makefile:124: *** target pattern contains no `%'. Stop.

A questo punto essendo totalmente all’oscuro di come sia fatto un
makefile
(mea culpa) non riesco a capire quale possa essere l’errore. Se può essere
d’aiuto riporto anche la riga 124 che viene segnalata nel messaggio di
errore (la seconda riga inizia con un TAB).

124 {$(topdir)}.cc{}.obj:
125 $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:=/)

Sembra tanto che il problema sia dato dai : (due punti) e che possa
essere
un problema con la versione di make che ho io… ma non so come
risolverlo.
So che forse è un argomento un pochino off-topic, ma vorrei far partire il
tutto.
Vi ringrazio!

124 {$(topdir)}.cc{}.obj:

Prova a cambiarla in:

%.obj: %.cc

Oppure in:

%.obj: $(topdir)/%.cc

Comunque quella sintassi non l’ho mai vista, sicuro che extconf.rb
abbia generato un Makefile per GNU Make e non per altro?

On 10/5/06, Massimiliano M. [email protected] wrote:

Comunque quella sintassi non l’ho mai vista, sicuro che extconf.rb
abbia generato un Makefile per GNU Make e non per altro?

Cambiato la sintassi con %.obj: $(topdir)/%.cc in tutte le parti in cui
avveniva l’errore (adattando il valore di topdir con la stringa che
trovavo
in una determinata riga e idem per l’estensione) e idem con %.obj: %.cc
ma
niente da fare

Naturalmente adesso mi ritrovo con un’altro errore, quindi mi viene il
dubbio che stia partendo da qualcosa di sbagliato. Quando digito make
infatti ecco cosa esce.

$ make
make: *** No rule to make target {.', needed by rb_serial_wrapper.obj’. Stop.

Ho provato a cercare qualcosa su extconf.rb, ma mi sembra non ci sia
nulla
di particolare da fare… ma devo leggermi meglio questo documento
Radar – O’Reilly,
magari ci
trovo qualcosa.