Older version of make (qnx v4.23): how to convert it's files

I need to update some very old software archive that comes with old make
scripts.

Using the more current version of make (v3.79) shows that does not
understand those scripts any more.

Is there a set of rules to port the old makefiles into “new” format?

Here are some samples:

The executable script “TLTX_console.mak”:
M="-f"
make $@ $M …/CONSOLE/TLTX_console.mk

“TLTX_console.mk” makefile:
include …/TLTX/TLTX_inc.mk

O=…/CONSOLE/OBJ/

COMPILE.c = $(CC) $(CFLAGS) -c -o $(O)

H = $(T)extern.h $(T)dog.h $(T)log.h $(T)proto.h $(T)tlt.h $(T)interface.h

$(T)status.h

OBJS = $(O)TLTX_console.o $(O)timer.o $(O)cursor.o $(O)page_num.o
$(O)print_log.o $(O)month_num.o

$(E)TLTX_console: $(OBJS)
$(COMPILE.c)
$(LINK.c) -o $(E)TLTX_console $(OBJS) -l termlib

$(O)TLTX_console.o: $(C)TLTX_console.c $(H)
$(O)timer.o: $(C)timer.c $(H)
$(O)cursor.o: $(C)cursor.c $(H)
$(O)page_num.o: $(C)page_num.c $(H)
$(O)print_log.o: $(C)print_log.c $(H)
$(O)month_num.o: $(C)month_num.c $(H)

The “TLTX_inc.mk” file:
C=…/CONSOLE/
D=…/DRIVER/
E=$(HOME_DIR)/
L=…/LINK/
SC=…/SCHEDULER/
SE=…/SERVER/
ST=…/SUBTITLE/
M=…/TLT_MAKE/
CVT=…/CVT/
T=…/TLTX/
LD=…/TLT_LINK/
WL=…/WIN_link/

#CFLAGS = -4 -j -ms -g -w3 -T1 -zu

CFLAGS = -4 -j -ms -g -w3 -T1
#CFLAGS = -4 -j -ms -g -w3


Please hint.

Tony.

On Fri, 4 Jun 2004 08:30:54 -0400, Mario Charest <nowheretobefound@8thdimension.com> wrote:

Try qmake instead.

Searched my QNX v4.25G + Watcom C v10.6B+SecPatch for qmake…
File not found.

Tony.

Try qmake instead.

“Tony” <mts.spb.suxx@mail.ru> wrote in message
news:opr82kki0ro93ri4@workstation.wst.quantum.ru

I need to update some very old software archive that comes with old make
scripts.

Using the more current version of make (v3.79) shows that does not
understand those scripts any more.

Is there a set of rules to port the old makefiles into “new” format?

Here are some samples:

The executable script “TLTX_console.mak”:
M="-f"
make $@ $M …/CONSOLE/TLTX_console.mk

“TLTX_console.mk” makefile:
include …/TLTX/TLTX_inc.mk

O=…/CONSOLE/OBJ/

COMPILE.c = $(CC) $(CFLAGS) -c -o $(O)

H = $(T)extern.h $(T)dog.h $(T)log.h $(T)proto.h $(T)tlt.h $(T)interface.h

$(T)status.h

OBJS = $(O)TLTX_console.o $(O)timer.o $(O)cursor.o $(O)page_num.o
$(O)print_log.o $(O)month_num.o

$(E)TLTX_console: $(OBJS)
$(COMPILE.c)
$(LINK.c) -o $(E)TLTX_console $(OBJS) -l termlib

$(O)TLTX_console.o: $(C)TLTX_console.c $(H)
$(O)timer.o: $(C)timer.c $(H)
$(O)cursor.o: $(C)cursor.c $(H)
$(O)page_num.o: $(C)page_num.c $(H)
$(O)print_log.o: $(C)print_log.c $(H)
$(O)month_num.o: $(C)month_num.c $(H)

The “TLTX_inc.mk” file:
C=…/CONSOLE/
D=…/DRIVER/
E=$(HOME_DIR)/
L=…/LINK/
SC=…/SCHEDULER/
SE=…/SERVER/
ST=…/SUBTITLE/
M=…/TLT_MAKE/
CVT=…/CVT/
T=…/TLTX/
LD=…/TLT_LINK/
WL=…/WIN_link/

#CFLAGS = -4 -j -ms -g -w3 -T1 -zu

CFLAGS = -4 -j -ms -g -w3 -T1
#CFLAGS = -4 -j -ms -g -w3


Please hint.

Tony.

On Fri, 4 Jun 2004 10:54:39 -0400, Mario Charest <darkmatter@intothevoid.land> wrote:

Maybe it was in an earlier version of QNX4.2? and Watcom. Was probably
provided when the switch was made to gnu make. My copy of qmake is data
1997.
The compiler seems to be v10.6 those days…



Look into older version of QNX/Watcom, take the make program and copy it
onto your newer system under the name qmake.
:frowning:

Should wait till they open that old rusty safe with the archive… May be there are the older QNXes as well…

I think your makefile should work with gnu make. It’s the $@ in the
makefile script that I’m sure about.
It does not.



What error do you get?
If I run those executable script - only one *.c file is compiled, the nessesary *.o are not created and because of that not linked.

Tony.

“Tony” <mts.spb.suxx@mail.ru> wrote in message
news:opr82cyc1to93ri4@mobile…

On Fri, 4 Jun 2004 08:30:54 -0400, Mario Charest
nowheretobefound@8thdimension.com> > wrote:

Try qmake instead.

Searched my QNX v4.25G + Watcom C v10.6B+SecPatch for qmake…
File not found.

Maybe it was in an earlier version of QNX4.2? and Watcom. Was probably
provided when the switch was made to gnu make. My copy of qmake is data
1997.

Look into older version of QNX/Watcom, take the make program and copy it
onto your newer system under the name qmake.

I think your makefile should work with gnu make. It’s the $@ in the
makefile script that I’m sure about.

What error do you get?

Tony.

On Fri, 4 Jun 2004 15:00:07 -0400, Mario Charest <nowheretobefound@8thdimension.com> wrote:

Try putting an empty line between each of these lines
$(O)TLTX_console.o: $(C)TLTX_console.c $(H)
Thank you!

I’ll try all this on monday…

Tony.

Mario Charest <nowheretobefound@8thdimension.com> wrote:

Try qmake instead.

qmake is the “make” that was included with QNX’s Watcom 9.5 .

“Tony” <mts.spb.suxx@mail.ru> wrote in message
news:opr82m63ujo93ri4@mobile…

On Fri, 4 Jun 2004 10:54:39 -0400, Mario Charest
darkmatter@intothevoid.land> > wrote:

not.

What error do you get?
If I run those executable script - only one *.c file is compiled, the
nessesary *.o are not created and because of that not linked.


“TLTX_console.mk” makefile:
include …/TLTX/TLTX_inc.mk

O=…/CONSOLE/OBJ/

COMPILE.c = $(CC) $(CFLAGS) -c -o $(O)

H = $(T)extern.h $(T)dog.h $(T)log.h $(T)proto.h $(T)tlt.h $(T)interface.h

$(T)status.h

OBJS = $(O)TLTX_console.o $(O)timer.o $(O)cursor.o $(O)page_num.o
$(O)print_log.o $(O)month_num.o

$(E)TLTX_console: $(OBJS)

this line will product nothing because $COMPILE.c does not specify the
output file name, the -o option points to a directory. Get rid
of the line all together. Also move the CFLAGS definition on top (i’m not
sure it’s required but try it)

$(COMPILE.c)

$(LINK.c) -o $(E)TLTX_console $(OBJS) -l termlib

Try putting an empty line between each of these lines
$(O)TLTX_console.o: $(C)TLTX_console.c $(H)
$(O)timer.o: $(C)timer.c $(H)
$(O)cursor.o: $(C)cursor.c $(H)
$(O)page_num.o: $(C)page_num.c $(H)
$(O)print_log.o: $(C)print_log.c $(H)
$(O)month_num.o: $(C)month_num.c $(H)

The “TLTX_inc.mk” file:
C=…/CONSOLE/
D=…/DRIVER/
E=$(HOME_DIR)/
L=…/LINK/
SC=…/SCHEDULER/
SE=…/SERVER/
ST=…/SUBTITLE/
M=…/TLT_MAKE/
CVT=…/CVT/
T=…/TLTX/
LD=…/TLT_LINK/
WL=…/WIN_link/

#CFLAGS = -4 -j -ms -g -w3 -T1 -zu


Tony.

Or depending on the size and complexity of your project, you could try jam
from Perforce (http://public.perforce.com/public/index.html).

On 4 Jun 2004 18:14:33 GMT, Frank Liu <fliu@usdjmp1.eng.vodafone-us.com>
wrote:

Mario Charest <> nowheretobefound@8thdimension.com> > wrote:
Try qmake instead.

qmake is the “make” that was included with QNX’s Watcom 9.5 .


Juho Joensuu

On Mon, 07 Jun 2004 09:25:20 +0300, Juho Joensuu <juho.joensuu@softsys.fi> wrote:

Or depending on the size and complexity of your project, you could try jam
from Perforce (> http://public.perforce.com/public/index.html> )

Thank you.
I’ve found the perforce for qnx4 as well…
I’ll give it a try.

Tony.