Make, GnuTools и gnu-interp.c

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Make, GnuTools и gnu-interp.c

MaxK
Естественно, когда начинал компилировать VM Squeak под Win с помощью GnuTools по инструкции http://www.squeakvm.org/win32/compiling.html
столкнулся с тем, что VM компилируется только со второго раза - make не видит gnu-interp.c, который делается AWK...

Кто-нибудь заборол эту бажину?

С уважением,
Максим


Reply | Threaded
Open this post in threaded view
|

Re: Make, GnuTools и gnu-interp.c

Igor Stasenko
2010/12/30 MaxK <[hidden email]>:
>
> Естественно, когда начинал компилировать VM Squeak под Win с помощью GnuTools
> по инструкции http://www.squeakvm.org/win32/compiling.html
> столкнулся с тем, что VM компилируется только со второго раза - make не
> видит gnu-interp.c, который делается AWK...
>
> Кто-нибудь заборол эту бажину?
>
помню я что-то правил.. но тот скрипт где-то потерял.
да ваще мейкфайл под вынь полон багов и плохо отслеживает зависимости.
так что я буду делать cmake  конфиг, который надеюсь будет работать нормуль

> С уважением,
> Максим
>
>
>
> --
> View this message in context: http://forum.world.st/Make-GnuTools-gnu-interp-c-tp3167833p3167833.html
> Sent from the русский язык (Russian) mailing list archive at Nabble.com.
>
> --
> http://groups.google.ru/group/sugr



--
Best regards,
Igor Stasenko AKA sig.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Make, GnuTools и gnu-interp.c

MaxK
Вот такой костыль вроде помогает:


@@ -34,7 +34,7 @@
 CROSSSRC= $(wildcard $(CROSSDIR)/*.c)
 WIN32SRC= $(wildcard $(WIN32DIR)/*.c)
 MAKERSRC= $(wildcard $(MAKERDIR)/*.c)
-VMSRC   = $(notdir $(MAKERSRC) $(WIN32SRC) $(CROSSSRC))
+VMSRC   = gnu-interp.c $(notdir $(MAKERSRC) $(WIN32SRC) $(CROSSSRC))
 
 VPATH= $(VMDIR) $(WIN32DIR) $(CROSSDIR) $(XMISCDIR)
 
@@ -140,7 +140,7 @@
  @echo CFLAGS=$(CFLAGS)
  @echo -----------------------------------------------------
 
-$(VMEXE): gnu-interp.c $(VMOBJ) $(LIBS) $(VMEXP) resource.o
+$(VMEXE): $(VMOBJ) $(LIBS) $(VMEXP) resource.o
  $(LD) $(LDFLAGS) -o $(OBJDIR)/$(VMEXE) $(addprefix $(OBJDIR)/,$(VMOBJ)) $(OBJDIR)/$(VMEXP) $(OBJDIR)/resource.o $(addprefix $(OBJDIR)/,$(LIBS)) $(STDLIBS)
  $(RM) $(OBJDIR)/version.o
  strip --strip-all $(OBJDIR)/$(VMEXE)
@@ -192,6 +192,9 @@
 
 #############################################################################
 # Basic rules
+
+gnu-interp.o: gnu-interp.c
+ $(CC) -o $(OBJDIR)/gnu-interp.o $(CFLAGS) $(INCLUDES) $(DEFS) -c $(VMDIR)/gnu-interp.c
 
 .c.o:
  $(CC) -o $(OBJDIR)/$@ $(CFLAGS) $(INCLUDES) $(DEFS) -c $<