Make behavior on TOPS20 Panda distribution

David Griffith dave at 661.org
Wed Mar 11 04:40:58 CDT 2020


I've successfully managed to get a simulated TOPS20 environment going with 
networking.  Now there's a new strange hitch: the behavior of make.  Would 
someone please look at this and tell me what I'm doing wrong?

For a simple Makefile, it works fine if I just type "make", but if I type 
"make <target>", I get the commands sent to the command line, but no 
responses.  The display then stalls at the eighth source file.  Strangely, 
if I scroll up in the xterm, it gets dragged back down as if more stuff is 
being printed.

Just typing "make", I get this:
@make
cc  -c buffer.c -o buffer.rel

  PANDA TOPS-20 Command processor 7.1(4453)-4
@cc  -c buffer.c -o buffer.rel
KCC:    BUFFER
<DAVE.FROTZ>BUFFER.PRE.3
<DAVE.FROTZ>BUFFER.FAI.3
FAIL:  BUFFER
@
@POP
... and so on until this:
@POP
cc  -o dfrotz.exe buffer.rel err.rel fastme.rel files.rel getopt.rel 
... more .rel files
LINK:   Loading
@
@POP
@

and we're done.  dfrotz.exe is in the current directory and it works.

Here's the strange behavior I can't explain:
@make dumb
cc  -c buffer.c -o buffer.rel
?Unrecognized command - Does not match switch or keyword - "dumb"
cc  -c err.c -o err.rel
cc  -c fastme.c -o fastme.rel
cc  -c files.c -o files.rel
cc  -c getopt.c -o getopt.rel
cc  -c hotkey.c -o hotkey.rel
cc  -c input.c -o input.rel
cc  -c main.c -o main.rel

The process stalls at this point, jerking back the terminal to the bottom 
if I scroll up.  Hitting ^C once or repeatedly doesn't seem to do 
anything.  Logging into the from a different terminal, I can see that no
.rel files were generated from this operation.

Typing "make foobar" results in this:
@make foobar
?MAKE: Don't know how to make foobar
perror() says: No such file or directory
@

Amusingly, "make love" returns this classic reply:
@make love
Not war!
?MAKE: Don't know how to make love
perror() says: No such file or directory
@


Here's the Makefile:

CC = cc
NAME = frotz
C = .c
O = .rel
E = .exe
DFROTZ = d$(NAME)$(E)
OBJ = buffer$(O) err$(O) fastme$(O) files$(O) getopt$(O) hotkey$(O) \
 		input$(O) main$(O) math$(O) missin$(O) object$(O) \
 		proces$(O) quetza$(O) random$(O) redire$(O) screen$(O) \
 		sound$(O) stream$(O) table$(O) text$(O) variab$(O) \
 		dblorb$(O) dinit$(O) dinput$(O) doutpu$(O) dpic$(O)

dumb:		$(DFROTZ)
dfrotz:		$(DFROTZ)
$(DFROTZ):	$(OBJ)
 	$(CC) $(CFLAGS) -o $(DFROTZ) $(OBJ)

.c.rel:
 	$(CC) $(CFLAGS) -c $< -o $@

clean:
 	delete *.rel
 	delete *.exe

.SUFFIXES:	.exe .rel .c *.h


This whole thing can be found at https://gitlab.com/DavidGriffith/frotz/
in the tops20 branch.


-- 
David Griffith
dave at 661.org

A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?


More information about the cctech mailing list