On 5 May 2011 10:52, Rugxulo <rugx...@gmail.com> wrote:
> On Wed, May 4, 2011 at 3:03 PM, Alain Mouette <ala...@pobox.com> wrote:
>>
>> Em 04-05-2011 16:45, Bart Oldeman escreveu:
>>>
>>> I had to use some of the kernel build infrastructure to be able to
>>> still also build with Turbo C(++). Writing portable DOS makefiles
>>> causes all sorts of funny restrictions, esp. dealing with Turbo C 2.01
>>> make: it cannot do command line redirection.
>>
>> Why not use some other make, like gmake? so freedos only compiles with
>> it and the mess is fixed (at least partialy)?
>>
>> This make problem has been a nightmare around here too ;-)
>
> IIRC, there was a real-mode GNU Make 3.71 or such a long time ago. I
> remember I archived it (on my old P166), but I never bothered with it
> much. So it may not be perfect, but it does exist! Perhaps found at
> GNUish mirror sites. (Dmake also exists, but I doubt it's better.
> Oops, forgot OpenWatcom has WmakeR [real mode] now too.)

yes I know, I reviewed gnuish make (3.58 & 3.71) and dmake a long time ago.
There were conventional memory and stability issues at the time. In
the end it was easier to instruct people to just use the make utility
that ships with the compiler. The redirection issue from Turbo C make
could be avoided by using a special "echoto.bat" batch file that does
"echo >>".

FreeCOM could be built with dmake (http://www.freedos.org/software/?prog=dmake)
but the relevant makefiles have not been maintained since Steffen
Kaiser stopped with FreeCOM.

I'm not sure why WmakeR is that relevant -- protected mode make works
fine too (I know I know -- some people want in principle that you
should be able to compile all of FreeDOS on an XT but this has never
been policy; the cost issue was there in 1995 but these days Pentium
3's and under aren't even accepted at charities anymore).

> BTW, Bart, were you ever cc'd in that email of mine a long time ago
> re: FDISK's makefile problems? IIRC, it was regarding long cmdlines >
> 126 bytes that I quoted from an old Turbo C++ 1.0 book. Okay, maybe
> that's not totally relevant, but I can forward it if interested (or
> look up similar). I realize that TC 2.01 is slightly different, maybe
> more limited, but hey, it can't hurt for reference. Just sayin' ....

I just looked up that email. This (
MYPROG.EXE: $(MYOBJS)
      tlink /c @&&!
C0S $(MYOBJS)
$*
$*
$(MYLIBS) EMU.LIB MATHS.LIB CS.LIB
!
) is the syntax that was used in FreeCOM and I changed to use
echoto.bat, because it isn't supported by any other make (even
TC2.01's make), like this:
MYOBJS1 = ...
MYOBJS2 = ...
MYOBJS = $(MYOBJS1) $(MYOBJS2)

myprog.lnk:
   if exist myprog.lnk del myprog.lnk
   echoto myprog.lnk C0S $(MYOBJS1)
   echoto myprog.lnk $(MYOBJS2)
   echoto myprog.lnk myprog
   echoto myprog.lnk myprog
   echoto myprog.lnk $(MYLIBS) EMU.LIB MATHS.LIB CS.LIB

MYPROG.EXE: myprog.lnk $(MYOBJS)
   tlink /c @myprog.lnk

the objects are split because the echoto command line is restricted to
128 bytes. Very ugly but doable.

> P.S. Bart, thanks for your efforts over the years. I know that's not
> much from me, but ....

you're welcome.

Bart

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to