1# DPS/8M simulator: src/dps8/GNUmakefile 2# vim: filetype=make:tabstop=4:tw=76 3# 4############################################################################### 5# 6# Copyright (c) 2013-2016 Harry Reed 7# Copyright (c) 2013-2016 Charles Anthony 8# Copyright (c) 2016 Jean-Michel Merliot 9# Copyright (c) 2016 Michal Tomek 10# Copyright (c) 2021 Jeffrey H. Johnson <trnsz@pobox.com> 11# Copyright (c) 2021 The DPS8M Development Team 12# 13# All rights reserved. 14# 15# This software is made available under the terms of the ICU 16# License, version 1.8.1 or later. For more details, see the 17# LICENSE.md file at the top-level directory of this distribution. 18# 19############################################################################### 20 21.DEFAULT_GOAL := all 22 23############################################################################### 24 25INSTALL_ROOT ?= $(PREFIX) 26INSTALL_BIN ?= $(INSTALL_ROOT)/bin 27 28############################################################################### 29 30ifneq (,$(wildcard ../Makefile.mk)) 31 include ../Makefile.mk 32endif 33 34############################################################################### 35 36ifdef BUILD_PROM_OSV_TEXT 37 CFLAGS += -DBUILD_PROM_OSV_TEXT="\"$(BUILD_PROM_OSV_TEXT)\"" 38endif 39 40############################################################################### 41 42ifdef BUILD_PROM_OSA_TEXT 43 CFLAGS += -DBUILD_PROM_OSA_TEXT="\"$(BUILD_PROM_OSA_TEXT)\"" 44endif 45 46############################################################################### 47# If using Cygwin as a host for cross-compilation, set CYGWIN_MINGW_CROSS=1 48 49ifneq ($(CYGWIN_MINGW_CROSS),1) 50 ifeq ($(shell $(UNAME) -o 2> /dev/null || true >/dev/null 2>&1),Cygwin) 51 CROSS="" 52 endif 53endif 54 55############################################################################### 56 57ifndef LIBUV 58 LIBUV = -luv 59endif 60LIBS += $(LIBUV) 61 62############################################################################### 63# Support for MinGW-W32, MinGW-W64, LLVM-MinGW32/64 (i686/x86_64/ARM/AArch64) 64 65ifneq ($(msys_version),0) 66 CROSS=MINGW64 67 MINGW_FLAVOR=64 68 MINGW_CROSS=1 69 export CROSS 70 export MINGW_FLAVOR 71 export MINGW_CROSS 72endif 73 74ifeq ($(CROSS),MINGW32) 75 MINGW_CROSS=1 76 MINGW_FLAVOR=32 77 M32=$(MINGW_FLAVOR) 78 ifeq ($(msys_version),) 79 MINGWEX=-lmingwex 80 export MINGWEX 81 endif 82 export MINGW_CROSS 83 export MINGW_FLAVOR 84 export M32 85endif 86 87ifeq ($(CROSS),MINGW64) 88 MINGW_CROSS=1 89 MINGW_FLAVOR=64 90 ifeq ($(msys_version),) 91 MINGWEX=-lmingwex 92 export MINGWEX 93 endif 94 export MINGW_CROSS 95 export MINGW_FLAVOR 96endif 97 98ifeq ($(MINGW_CROSS),1) 99 CFLAGS += -DCROSS_MINGW$(MINGW_FLAVOR) -I../../../libuv/include 100 # Cross-compilation with Cygwin host to MinGW target 101 ifeq ($(CYGWIN_MINGW_CROSS),1) 102 LIBS += -lwinmm -lws2_32 -lssp $(MINGWEX) -lwsock32 -luserenv -liplpapi \ 103 -L../../../libuv/.libs $(LIBUV) 104 endif 105 ifeq ($(shell $(UNAME) -o 2> /dev/null || true >/dev/null 2>&1),Cygwin) 106 # Standard Cygwin build 107 LIBS += -lwinmm -lws2_32 -lwsock32 -luserenv -liphlpapi $(LIBUV) 108 else 109 # Cross-compilation to MinGW 110 LIBS += -lwinmm -lws2_32 -lssp $(MINGWEX) -lwsock32 -luserenv -liphlpapi \ 111 -L../../../libuv/.libs $(LIBUV) 112 endif 113endif 114 115############################################################################### 116# Include directories 117 118CFLAGS += -I../decNumber -I$(SIMHx) 119 120############################################################################### 121# Warning level tweaks 122 123ifneq ($(W),) 124 ifeq ($(CC),clang) 125 CFLAGS += -Wall -Wconversion -Wsign-conversion -Wno-unknown-warning-option 126 else 127 ifeq ($(CC),gcc) 128 CFLAGS += -Wall -Wno-conversion -Wsign-conversion -Wno-psabi -Wno-abi 129 else 130 CFLAGS += -Wall 131 endif 132 endif 133endif 134 135############################################################################### 136# Need to create a 128-bit type? 137 138ifneq ($(M32),) 139 CFLAGS += -DNEED_128 140 ifneq ($(W),) 141 CFLAGS += -Wno-format-zero-length -Wno-sign-conversion 142 endif 143endif 144 145############################################################################### 146# The system_state code relies on M_SHARED. 147 148ifneq ($(MINGW_CROSS),1) 149 CFLAGS += -DM_SHARED 150 ifneq ($(OS),OSX) 151 ifneq ($(UNAME_S),OpenBSD) 152 LIBS += -lrt 153 endif 154 endif 155endif 156 157############################################################################### 158# What needs -ldl? 159 160OSTYPE = $(shell $(UNAME) -s 2> /dev/null) 161ifeq ($(OSTYPE),AIX) 162 LIBS += -lm 163endif 164ifeq ($(OSTYPE),FreeBSD) 165 LIBS += -lm -pthread 166endif 167ifeq ($(OSTYPE),Linux) 168 ifeq ($(CROSS),MINGW32) 169 LIBS += -lm 170 endif 171 ifeq ($(CROSS),MINGW64) 172 LIBS += -lm 173 else 174 LIBS += -lm -ldl 175 endif 176endif 177 178############################################################################### 179# What needs -lm explicitly? 180 181OSTYPE = $(shell $(UNAME) -s) 182ifeq ($(OSTYPE),OpenBSD) 183 LIBS += -lm 184endif 185ifeq ($(OSTYPE),FreeBSD) 186 LIBS += -lm -pthread 187endif 188ifeq ($(OSTYPE),Linux) 189 LIBS += -lm 190endif 191ifeq ($(OSTYPE),GNU) 192 LIBS += -lm 193endif 194 195############################################################################### 196 197ifneq ($(MINGW_CROSS),1) 198 C_SRCS = dps8_absi.c 199endif 200C_SRCS += bsd_random.c 201C_SRCS += dps8_addrmods.c 202C_SRCS += dps8_append.c 203C_SRCS += dps8_cable.c 204C_SRCS += dps8_console.c 205C_SRCS += dps8_cpu.c 206C_SRCS += dps8_crdpun.c 207C_SRCS += dps8_crdrdr.c 208C_SRCS += dps8_decimal.c 209C_SRCS += dps8_disk.c 210C_SRCS += dps8_eis.c 211C_SRCS += dps8_faults.c 212C_SRCS += dps8_fnp2.c 213C_SRCS += dps8_fnp2_iomcmd.c 214C_SRCS += dps8_iefp.c 215C_SRCS += dps8_ins.c 216C_SRCS += dps8_iom.c 217C_SRCS += dps8_math.c 218C_SRCS += dps8_math128.c 219C_SRCS += dps8_mt.c 220C_SRCS += dps8_opcodetable.c 221C_SRCS += dps8_prt.c 222C_SRCS += dps8_scu.c 223C_SRCS += dps8_simh.c 224ifneq ($(MINGW_CROSS),1) 225 C_SRCS += dps8_socket_dev.c 226endif 227ifeq ($(TESTING),1) 228 C_SRCS += tracker.c 229endif 230C_SRCS += dps8_sys.c 231C_SRCS += dps8_urp.c 232C_SRCS += dps8_utils.c 233C_SRCS += fnpuv.c 234C_SRCS += fnptelnet.c 235C_SRCS += libtelnet.c 236C_SRCS += hdbg.c 237C_SRCS += segldr.c 238ifneq ($(MINGW_CROSS),1) 239 C_SRCS += shm.c 240 C_SRCS += udplib.c 241endif 242ifeq ($(THREADZ),1) 243 C_SRCS += threadz.c 244endif 245ifeq ($(LOCKLESS),1) 246 C_SRCS += threadz.c 247endif 248C_SRCS += utfile.c 249C_SRCS += uvutil.c 250 251############################################################################### 252 253OBJS := $(patsubst %.c,%.o,$(C_SRCS)) 254 255############################################################################### 256 257ifneq ($(MINGW_CROSS),1) 258 H_SRCS = dps8_absi.h 259endif 260H_SRCS += bsd_random.h 261H_SRCS += dps8_addrmods.h 262H_SRCS += dps8_append.h 263H_SRCS += dps8_cable.h 264H_SRCS += dps8_console.h 265H_SRCS += dps8_cpu.h 266H_SRCS += dps8_crdpun.h 267H_SRCS += dps8_crdrdr.h 268H_SRCS += dps8_decimal.h 269H_SRCS += dps8_disk.h 270H_SRCS += dps8_eis.h 271H_SRCS += dps8_em_consts.h 272H_SRCS += dps8_faults.h 273H_SRCS += dps8_fnp2.h 274H_SRCS += dps8_fnp2_iomcmd.h 275H_SRCS += libtelnet.h 276H_SRCS += dps8.h 277H_SRCS += dps8_hw_consts.h 278H_SRCS += dps8_iefp.h 279H_SRCS += dps8_ins.h 280H_SRCS += dps8_iom.h 281H_SRCS += dps8_math.h 282H_SRCS += dps8_math128.h 283H_SRCS += dps8_mt.h 284H_SRCS += dps8_opcodetable.h 285H_SRCS += dps8_prom.h 286H_SRCS += dps8_prt.h 287H_SRCS += dps8_socket_dev.h 288H_SRCS += dps8_scu.h 289H_SRCS += dps8_simh.h 290H_SRCS += dps8_state.h 291H_SRCS += dps8_sys.h 292H_SRCS += dps8_urp.h 293H_SRCS += dps8_utils.h 294H_SRCS += fnpuv.h 295H_SRCS += fnptelnet.h 296H_SRCS += h316_imp.h 297H_SRCS += hdbg.h 298H_SRCS += segldr.h 299H_SRCS += shm.h 300ifneq ($(MINGW_CROSS),1) 301 H_SRCS += udplib.h 302endif 303H_SRCS += utarray.h 304H_SRCS += uthash.h 305H_SRCS += utfile.h 306H_SRCS += utlist.h 307ifeq ($(THREADZ),1) 308 H_SRCS += threadz.h 309endif 310ifeq ($(LOCKLESS),1) 311 H_SRCS += threadz.h 312endif 313ifeq ($(TESTING),1) 314 H_SRCS += tracker.h 315endif 316H_SRCS += uvutil.h 317 318############################################################################### 319 320SIMH_OBJS = ../simh/dispatch.o ../simh/sim_console.o ../simh/sim_disk.o \ 321 ../simh/sim_fio.o ../simh/sim_sock.o ../simh/sim_tape.o \ 322 ../simh/sim_timer.o ../simh/sim_tmxr.o ../simh/scp.o \ 323 ../simh/linehistory.o 324 325############################################################################### 326 327DECN_OBJS = ../decNumber/decContext.o ../decNumber/decNumber.o 328 329############################################################################### 330 331.PHONY: all 332all: sysdefs.h \ 333 ver.h \ 334 unifdef \ 335 locallibs_then_dps8 \ 336 prt2pdf \ 337 punutil \ 338 mcmb \ 339 $(TAGS) 340 341############################################################################### 342 343.PHONY: install 344ifneq (,$(findstring install,$(MAKECMDGOALS))) 345.NOTPARALLEL: install clean 346endif 347ifneq (,$(findstring clean,$(MAKECMDGOALS))) 348.NOTPARALLEL: clean install 349endif 350install: all 351 @$(SETV); $(MKDIR) "$(DESTDIR)$(INSTALL_BIN)" 352 @$(SETV); $(CP) "dps8$(EXE)" "$(DESTDIR)$(INSTALL_BIN)/dps8$(EXE)" 353 354############################################################################### 355 356.PHONY: printuk 357printuk: 358 @$(PRINTF) '%s\n' "*** Begin printuk (git untracked files):" 359 @$(SETV); ($(CD) "../.." && $(GIT) status -s --untracked-files="all" \ 360 2> /dev/null | $(GREP) '^? ' || $(TRUE)) 361 @$(PRINTF) '%s\n' "*** End printuk" 362 363############################################################################### 364 365.PHONY: printmod 366printmod: 367 @$(PRINTF) '%s\n' "*** Begin printmod (git tracked modified files)" 368 @$(SETV); ($(CD) "../.." && $(GIT) status -s 2> /dev/null | \ 369 $(GREP) '^\ \?M ' || $(TRUE)) 370 @$(PRINTF) '%s\n' "*** End printmod" 371 372############################################################################### 373 374blinkenLights: blinkenLights.c shm.o 375 @$(PRINTF) '%s\n' "LD: blinkenLights" 376 @$(SETV); $(CC) $(CFLAGS) $(LDFLAGS) blinkenLights.c \ 377 -o blinkenLights shm.o `$(PKGCONFIG) --cflags --libs gtk+-3.0` 378 379############################################################################### 380 381blinkenLightsCurses: blinkenLightsCurses.c shm.o 382 @$(PRINTF) '%s\n' "LD: blinkenLightsCurses" 383 @$(SETV); $(CC) $(CFLAGS) $(LDFLAGS) blinkenLightsCurses.c \ 384 -o blinkenLightsCurses shm.o -lncurses 385 386############################################################################### 387 388.PHONY: all ctags 389dps8$(EXE): $(OBJS) $(LOCALOBJS) $(LOCALLIBS) $(DECN_OBJS) $(SIMH_OBJS) ctags 390 @$(PRINTF) '%s\n' "LD: dps8$(EXE)" 391 @$(SETV); $(CC) -o dps8$(EXE) $(LDFLAGS) $(OBJS) $(LOCALOBJS) \ 392 $(DECN_OBJS) $(SIMH_OBJS) $(LOCALLIBS) $(LIBS) 393 394############################################################################### 395 396.PHONY: FORCE 397ifeq (,$(wildcard ../../.git)) 398# not git 399ifeq (,$(wildcard ver.h~)) 400# not git, not kit 401ver.h: 402 @$(SETV); $(RMF) "./ver.h" 403 @$(PRINTF) '%s\n' "WARNING: This source tree does not appear to be a" \ 404 " full git clone or a complete source kit." 405 @$(SETV); $(TOUCH) "./ver.h" 406else 407# kit 408ver.h: 409 @$(SETV); $(CP) "./ver.h~" "./ver.h" 410endif 411else 412# git 413ver.h: FORCE 414ifneq ($(USE_BUILDER),) 415 @$(SETV); $(PRINTF) '%s\n' "$(USE_BUILDER)" > "../../.builder.txt" 416endif 417ifneq ($(USE_BUILDOS),) 418 @$(SETV); $(PRINTF) '%s\n' "$(USE_BUILDOS)" > "../../.buildos.txt" 419endif 420ifeq ($(MAKE_TOPLEVEL),1) 421 @$(RMF) "ver.h" > /dev/null 2>&1 422endif 423 @$(TEST) -f "ver.h" && $(PRINTF) '%s\n' \ 424 "WARNING: Git re-build: Skipping \"make_ver.sh\"." \ 425 " *** Use \"$(MAKE) clean\" or build from top-level!" || \ 426 $(TRUE) > /dev/null 2>&1 427 @$(SETV); $(TEST) -f "ver.h" || { ./make_ver.sh || \ 428 $(SHELL) ./make_ver.sh || \ 429 { $(PRINTF) '%s\n' "WARNING: Unable to run \"make_ver.sh\"." \ 430 " *** Using default fallback data!"; \ 431 $(TOUCH) "ver.h"; }; } 432endif 433 434############################################################################### 435 436slte.inc: system_book_12_3.ascii 437 @$(SETV); ./buildSLTE.sh 438 439############################################################################### 440 441.PHONY: locallibs_then_dps8 442locallibs_then_dps8: ver.h sysdefs.h 443 @($(SETV); $(CD) "../decNumber" && $(MAKE) -C "." -f "GNUmakefile" "all") 444 @($(SETV); $(CD) "$(SIMHx)" && $(MAKE) -C "." -f "GNUmakefile" "all") 445 @$(SETV); $(MAKE) -C "." -f "GNUmakefile" "dps8$(EXE)" 446 447############################################################################### 448 449prt2pdf: sysdefs.h 450 @$(SETV); $(MAKE) -C "../prt2pdf" "all" 451 452############################################################################### 453 454unifdef: ver.h 455 -@$(SETV); $(MAKE) -C "../unifdef" "all" 456 457############################################################################### 458 459punutil: 460 -@$(SETV); $(MAKE) -C "../punutil" "all" 461 462############################################################################### 463 464mcmb: 465 -@$(SETV); $(MAKE) -C "../mcmb" "all" 466 467############################################################################### 468 469udplib: udplib.c udplib.h 470udplib$(EXE): udplib.c udplib.h 471 @$(SETV); $(CC) udplib.c -o udplib -DTEST=1 472 473############################################################################### 474 475.PHONY: ctags 476tags TAGS ctags: $(C_SRCS) $(H_SRCS) ver.h 477 @$(PRINTF) '%s\n' "CTAGS: dps8" 478 -@$(SETV); $(CTAGS) $(C_SRCS) $(H_SRCS) \ 479 $(SIMHx)/*.[ch] ../decNumber/dec*.[ch] 2> /dev/null || $(TRUE) 480 @$(PRINTF) '%s\n' "ETAGS: dps8" 481 -@$(SETV); $(ETAGS) $(C_SRCS) $(H_SRCS) \ 482 $(SIMHx)/*.[ch] ../decNumber/dec*.[ch] 2> /dev/null || $(TRUE) 483 @$(PRINTF) '%s\n' "GTAGS: dps8" 484 -@($(SETV); $(CD) ../.. && $(GIT) ls-files 2> /dev/null | \ 485 $(GREP) '\.[ch]' 2> /dev/null | \ 486 $(GREP) -E '(dps8|decNumber|simh)' 2> /dev/null | \ 487 $(GREP) -vE '(blinkenLights|\.Attic/)' 2> /dev/null | \ 488 $(GTAGS) -f - 2> /dev/null) || $(TRUE) 489 @$(PRINTF) '%s\n' "CSCOPE: dps8" 490 -@$(SETV); $(CSCOPE) -bcq $(C_SRCS) $(H_SRCS) \ 491 $(SIMHx)/*.[ch] ../decNumber/dec*.[ch] 2> /dev/null || $(TRUE) 492 493############################################################################### 494 495.PHONY: tapes 496tapes: 88534.tap 88631.tap 88632.tap 88633.tap 88634.tap 88635.tap 88636.tap \ 497 99020.tap 93085.tap 98570.tap 99019.tap 98577.tap 20184.tap 20185.tap \ 498 20186.tap 20187.tap 20188.tap t4d_b.2.tap 98580_1er.tap 98576_1er.tap 499 500%.tap: 501 @$(SETV); $(WEBDL) \ 502 "https://bitsavers.trailing-edge.com/bits/Honeywell/multics/tape/$@.gz" 503 @$(SETV); $(GUNZIP) "$@.gz" 504 505############################################################################### 506 507.PHONY: superclean realclean reallyclean distclean clean 508ifneq (,$(findstring clean,$(MAKECMDGOALS))) 509.NOTPARALLEL: superclean realclean reallyclean distclean clean 510endif 511superclean realclean reallyclean: distclean 512 @$(SETV); $(CCACHE) -cC > /dev/null 2>&1 || $(TRUE) 513 514############################################################################### 515 516.PHONY: distclean clean 517ifneq (,$(findstring clean,$(MAKECMDGOALS))) 518.NOTPARALLEL: distclean clean 519endif 520distclean: clean 521 @$(RMF) ../../dps8m*.state || $(TRUE) 522 @$(RMF) ../dps8m*.state || $(TRUE) 523 @$(RMF) dps8m*.state || $(TRUE) 524 @$(RMF) "../../dps8m.state" || $(TRUE) 525 @$(RMF) "../dps8m.state" || $(TRUE) 526 @$(RMF) "dps8m.state" || $(TRUE) 527 @$(RMF) "../../l68.state" || $(TRUE) 528 @$(RMF) "../l68.state" || $(TRUE) 529 @$(RMF) "l68.state" || $(TRUE) 530 @$(RMF) ../../l68*.state || $(TRUE) 531 @$(RMF) ../l68*.state || $(TRUE) 532 @$(RMF) l68*.state || $(TRUE) 533 @$(RMF) "../../.dps8m.state" || $(TRUE) 534 @$(RMF) "../.dps8m.state" || $(TRUE) 535 @$(RMF) ".dps8m.state" || $(TRUE) 536 @$(RMF) ../../.dps8m*.state || $(TRUE) 537 @$(RMF) ../.dps8m*.state || $(TRUE) 538 @$(RMF) .dps8m*.state || $(TRUE) 539 @$(RMF) "../../.l68.state" || $(TRUE) 540 @$(RMF) "../.l68.state" || $(TRUE) 541 @$(RMF) ".l68.state" || $(TRUE) 542 @$(RMF) ../../.l68*.state || $(TRUE) 543 @$(RMF) ../.l68*.state || $(TRUE) 544 @$(RMF) .l68*.state || $(TRUE) 545 @$(SETV); $(RMF) "restoreMultics.log" || $(TRUE) 546 @$(SETV); $(RMF) "TAGS" || $(TRUE) 547 @$(SETV); $(RMF) "tags" || $(TRUE) 548 @$(SETV); $(RMF) "ver.h~" || $(TRUE) 549 @$(SETV); $(RMF) "../../GPATH" || $(TRUE) 550 @$(SETV); $(RMF) "../../GRTAGS" || $(TRUE) 551 @$(SETV); $(RMF) "../../GTAGS" || $(TRUE) 552 @$(SETV); $(RMF) "cscope.in.out" || $(TRUE) 553 @$(SETV); $(RMF) "cscope.out" || $(TRUE) 554 @$(SETV); $(RMF) "cscope.po.out" || $(TRUE) 555 @$(SETV); $(TEST) -d "../../libuv-local" && \ 556 $(RMF) -r "../../libuv-local" || $(TRUE) 557 558############################################################################### 559 560.PHONY: distclean clean 561ifneq (,$(findstring clean,$(MAKECMDGOALS))) 562.NOTPARALLEL: distclean clean 563endif 564clean: 565 @$(SETV); $(MAKE) -C "$(SIMHx)" -f "GNUmakefile" "clean" 566 @$(SETV); $(MAKE) -C "../decNumber" -f "GNUmakefile" "clean" 567 @$(SETV); $(MAKE) -C "../prt2pdf" -f "GNUmakefile" "clean" 568 @$(SETV); $(MAKE) -C "../punutil" -f "GNUmakefile" "clean" 569 @$(SETV); $(MAKE) -C "../mcmb" -f "GNUmakefile" "clean" 570 @$(SETV); $(MAKE) -C "../unifdef" -f "GNUmakefile" "clean" 571 @$(SETV); ( cd ../blinkenLights2 && $(RMF) blinkenLights2 || $(TRUE) ) 572 @$(SETV); $(MAKE) -C "." -f "GNUmakefile" "clean_dps8" 573 @$(SETV); $(RMF) ../../"$(KITNAME)"."$(TARXT)" || $(TRUE) 574 @$(SETV); $(RMF) ../../"$(KITNAME)"."$(TARXT)".* || $(TRUE) 575 @$(SETV); $(RMF) ../../"$(KITNAME)"."TMP" || $(TRUE) 576 @$(SETV); $(RMF) ../../"$(KITNAME)"."zip" || $(TRUE) 577 @$(SETV); $(TEST) -d "../../dps8" && \ 578 $(RMF) -r "../../dps8" || $(TRUE) 579 @$(SETV); $(RMF) "../../.builder.txt" || $(TRUE) 580 @$(SETV); $(RMF) "../../.buildos.txt" || $(TRUE) 581 @$(SETV); $(RMF) "ver.h" || $(TRUE) 582 @$(SETV); $(RMF) "dump.i" || $(TRUE) 583 @$(SETV); $(RMF) "compdef.out" || $(TRUE) 584 @$(SETV); $(RMF) "procdef.out" || $(TRUE) 585 @$(SETV); $(RMF) "procsrt.out" || $(TRUE) 586 @$(SETV); $(RMF) "unifdef.out" || $(TRUE) 587 @$(SETV); $(RMF) "sysdefs.h" || $(TRUE) 588 @$(SETV); $(RMF) "useddef.txt" || $(TRUE) 589 @$(SETV); $(RMF) "amd_memcpy.o" || $(TRUE) 590 @$(SETV); $(RMF) "../amd_memcpy.o" || $(TRUE) 591 @$(SETV); $(RMF) "../../amd_memcopy.o" || $(TRUE) 592 593############################################################################### 594 595.PHONY: clean_dps8 596ifneq (,$(findstring clean,$(MAKECMDGOALS))) 597.NOTPARALLEL: clean_dps8 598endif 599clean_dps8: 600 @$(PRINTF) '%s\n' "CLEAN: dps8" 601 @$(SETV); $(RMF) $(OBJS) $(C_DEPS) $(EXECUTABLES) "dps8$(EXE)" \ 602 "tags" "TAGS" $(C_SRCS:.c=.d) $(wildcard $(C_SRCS:.c=.d.[0-9]*)) \ 603 "dps8.exe" "errnos.h" "udplib.exe" "udplib" "tracker.o" "dump.[icd]" \ 604 || $(TRUE) 605 606############################################################################### 607 608.PHONY: kit dist 609kit dist: 610 @$(PRINTF) '%s\n' "KIT: dps8" 611 @$(PRINTF) '%s\n' "ARCHIVE: $(KITNAME).$(TARXT)" 612 @$(SETV); $(RMF) ../../"$(KITNAME)"."$(TARXT)" || $(TRUE) 613 @$(SETV); $(RMF) ../../"$(KITNAME)"."$(TARXT)"."$(COMPRESSXT)" || $(TRUE) 614 @$(SETV); MAKE="$(MAKE)" $(MAKE) "ver.h" 615 @$(SETV); $(CP) "./ver.h" "./ver.h~" 616 @$(SETV); ($(CD) "../.." && \ 617 $(MAKETAR) "$(KITNAME).$(TARXT)" $$( $(GIT) ls-files | \ 618 $(GREP) -v '^.git' | $(GREP) -v '^.whitesource' | \ 619 $(GREP) -v '^.lgtm.yml' | $(GREP) -v '/.Attic/' | \ 620 $(GREP) -v '^src/dps8/make_ver.sh' | $(GREP) -v 'docs/manual' | \ 621 $(GREP) -v '^src/Makefile.scc' | $(GREP) -v 'ci-kit' | \ 622 $(GREP) -v '^src/dps8/listings/' | \ 623 $(GREP) -v '^src/Makefile.dev') 'src/dps8/ver.h~' ) 624 @$(PRINTF) '%s\n' \ 625 "COMPRESS: $(KITNAME).$(TARXT) -> $(KITNAME).$(TARXT).$(COMPRESSXT)" 626 @$(SETV); $(COMPRESS) "../../$(KITNAME).$(TARXT)" 627 628############################################################################### 629# Makes a ZIP format kit 630 631.PHONY: zipkit zipdist 632zipkit zipdist: 633 @$(PRINTF) '%s\n' "ZIPKIT: dps8" 634 @$(PRINTF) '%s\n' "ARCHIVE: $(KITNAME).zip" 635 @$(SETV); $(RMF) ../../"$(KITNAME)"."zip" || $(TRUE) 636 @$(SETV); $(RMF) ../../"$(KITNAME)"."TMP" || $(TRUE) 637 @$(SETV); MAKE="$(MAKE)" $(MAKE) "ver.h" 638 @$(SETV); $(CP) "./ver.h" "./ver.h~" 639 @$(SETV); ($(CD) "../.." && \ 640 $(MAKETAR) "$(KITNAME).TMP" $$( $(GIT) ls-files | \ 641 $(GREP) -v '^.git' | $(GREP) -v '^.whitesource' | \ 642 $(GREP) -v '^.lgtm.yml' | $(GREP) -v '/.Attic/' | \ 643 $(GREP) -v '^src/dps8/make_ver.sh' | $(GREP) -v 'docs/manual' | \ 644 $(GREP) -v '^src/Makefile.scc' | $(GREP) -v 'ci-kit' | \ 645 $(GREP) -v '^src/dps8/listings/' ) \ 646 'src/dps8/ver.h~' ) 647 @$(SETV); ($(CD) "../.." && $(TAR) xf "$(KITNAME)"."TMP" && \ 648 $(RMF) "$(KITNAME)"."zip" && \ 649 $(TR) -s ' ' < "./src/dps8/ver.h~" 2> /dev/null | \ 650 $(GREP) -E '(VER_H_GIT_VERSION|VER_H_GIT_HASH)' 2> /dev/null | \ 651 $(CUT) -d ' ' -f 3- 2> /dev/null | $(TR) -d '"' 2> /dev/null | \ 652 $(PASTE) - - 2> /dev/null | \ 653 $(SED) -e 's/^/\r\nDPS\/8M Simulator /' -e 's/\t/\r\n(/' \ 654 -e 's/$$/)\r\n\r\n.\n/' | \ 655 $(INFOZIP) -q -r -o -z -nw -9 "$(KITNAME)"."zip" "./dps8" \ 656 2> /dev/null && $(INFOZIP) -q -T "$(KITNAME)"."zip" \ 657 2> /dev/null && $(RMF) "$(KITNAME)"."TMP" \ 658 2> /dev/null && $(RMF) -r "./dps8" 2> /dev/null && \ 659 $(PRINTF) 'ZIPKIT: %s\n' \ 660 "$(KITNAME).zip created successfully") 661 @$(SETV); { $(COMMAND) -v $(ADVZIP) > /dev/null 2>&1 && \ 662 $(PRINTF) '%s\n' "ADVZIP: $(KITNAME).zip" && \ 663 $(ADVZIP) -qz4k "../../sources.zip" || $(TRUE); } || $(TRUE) 664 665############################################################################### 666 667unifdef.out: unifdef 668 @$(PRINTF) '%s\n' "UNIFDEF: *.[ch]" 669 @($(SETV); $(CD) ".." 2> /dev/null && $(FIND) $$($(GIT) ls-files \ 670 2> /dev/null | $(GREP) -v 'ci-kit/' 2> /dev/null \ 671 | $(GREP) ".*\.[ch]" 2> /dev/null ) \ 672 -exec "./unifdef/unifdef.wrapper" "-s" "{}" 2> /dev/null \; | \ 673 $(SORT) -u 2> /dev/null) > "./unifdef.out" || \ 674 $(TOUCH) "./unifdef.out" > /dev/null 2>&1 675 676############################################################################### 677 678procdef.out: 679 @$(PRINTF) '%s\n' "PROCDEF: $(CPPCPP)" 680 @($(SETV); ($(CPPCPP) -dM - < /dev/null 2> /dev/null ; \ 681 $(CPPCPP) -dD - < /dev/null 2> /dev/null ; $(CPPCPP2) ; $(CPPCPP3) ; \ 682 $(CPPCPP4)) | $(GREP) "^#define " 2> /dev/null | $(GREP) -v "^$$" \ 683 2> /dev/null | $(SORT) -u 2> /dev/null) | $(SED) 's/^#define //g' | \ 684 $(SORT) -u > "./procdef.out" || $(TOUCH) "./procdef.out" \ 685 > /dev/null 2>&1 686 687############################################################################### 688 689procsrt.out: procdef.out 690 @$(PRINTF) '%s\n' "PROCSRT: procdef.out" 691 @$(SETV); $(CUT) -d ' ' -f 1 < "./procdef.out" 2> /dev/null | \ 692 $(SORT) > "./procsrt.out" 2> /dev/null || \ 693 $(TOUCH) "./procsrt.out" > /dev/null 2>&1 694 695############################################################################### 696 697compdef.out: procsrt.out unifdef.out 698 @$(PRINTF) '%s\n' "COMM: procsrt.out unifdef.out" 699 @$(SETV); $(COMM) -12 "procsrt.out" "unifdef.out" > "./compdef.out" \ 700 2> /dev/null || $(TOUCH) "./compdef.out" 2> /dev/null 701 702############################################################################### 703 704useddef.txt: compdef.out 705 @$(PRINTF) '%s\n' "USEDDEF: compdef.out" 706 @$(SETV); $(SH) -c 'while read -r line; do $(GREP) -i "$${line:-}" \ 707 "./procdef.out" 2> /dev/null; done < "compdef.out" 2> /dev/null | \ 708 $(SORT) -u | $(GREP) -v -e "^__VERSION__" -e "^__clang_version__" \ 709 -e "^__GCC_HAVE_SYNC_COMPARE_AND_SWAP_." -e "^__ORDER_.*_ENDIAN__" \ 710 2> /dev/null > "useddef.txt"' || $(TRUE) > /dev/null 2>&1; \ 711 $(TOUCH) "./useddef.txt" > /dev/null 2>&1 712 713############################################################################### 714 715errnos.h: 716 @$(PRINTF) '%s\n' '#include <errno.h>' > "./dump.c" 2> /dev/null 717 @$(SETV); ($(CC) -E -dD ./dump.c 2> /dev/null; \ 718 $(CC) -qshowmacros -E ./dump.c 2> /dev/null) | $(SORT) -u | \ 719 $(AWK) '/^#define E/ { printf "{\"%s\",%s},\n", $$2, $$2 } END \ 720 { print "" }' > "./errnos.h" 721 @$(SETV); $(RMF) "./dump.c" 722 723############################################################################### 724 725sysdefs.h: useddef.txt 726 @$(PRINTF) '%s\n' "SYSDEFS: useddef.txt" 727 @$(SETV); $(TR) -d '=' < "./useddef.txt" 2> /dev/null | \ 728 $(TR) ' ' '=' 2> /dev/null | $(SED) -e 's/^/-D/g' 2> /dev/null | \ 729 $(TR) '\n' ' ' 2> /dev/null | $(SED) -e 's/ $$//' \ 730 -e 's/^-D$$//g' | $(SED) -e 's/^/#define\ SYSDEFS_USED\ \"/' \ 731 -e 's/$$/\"/' 2> /dev/null > "./sysdefs.n" || \ 732 $(TOUCH) "./sysdefs.n" > /dev/null 2>&1 733 @$(PRINTF) '%s\n' "" >> "./sysdefs.n" 2> /dev/null 734 @$(SETV); $(CMP) "./sysdefs.n" "./sysdefs.h" > /dev/null 2>&1 || \ 735 $(CP) "./sysdefs.n" "./sysdefs.h" 2> /dev/null || \ 736 $(TOUCH) "sysdefs.h" 737 @$(SETV); $(RMF) "sysdefs.n" 738 739############################################################################### 740 741dps8_absi.o: dps8.h 742dps8_absi.o: dps8_simh.h 743dps8_absi.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 744dps8_absi.o: dps8_iom.h 745dps8_absi.o: dps8_absi.h dps8_sys.h 746dps8_absi.o: dps8_scu.h 747dps8_absi.o: dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h udplib.h 748dps8_addrmods.o: dps8.h 749dps8_addrmods.o: dps8_simh.h 750dps8_addrmods.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 751dps8_addrmods.o: dps8_addrmods.h dps8_sys.h 752dps8_addrmods.o: dps8_faults.h 753dps8_addrmods.o: dps8_scu.h dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h 754dps8_addrmods.o: dps8_append.h dps8_ins.h dps8_iefp.h dps8_opcodetable.h 755dps8_addrmods.o: dps8_utils.h 756dps8_append.o: dps8_simh.h 757dps8_append.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 758dps8_append.o: dps8_sys.h 759dps8_append.o: dps8_scu.h 760dps8_append.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_append.h 761dps8_append.o: dps8_addrmods.h dps8_utils.h 762dps8_cable.o: dps8.h 763dps8_cable.o: dps8_simh.h 764dps8_cable.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 765dps8_cable.o: dps8_iom.h 766dps8_cable.o: dps8_mt.h dps8_socket_dev.h dps8_scu.h dps8_sys.h 767dps8_cable.o: dps8_faults.h 768dps8_cable.o: dps8_cable.h dps8_cpu.h hdbg.h dps8_state.h dps8_console.h 769dps8_cable.o: dps8_disk.h dps8_fnp2.h libtelnet.h dps8_urp.h 770dps8_cable.o: dps8_crdrdr.h 771dps8_cable.o: dps8_crdpun.h dps8_prt.h dps8_utils.h dps8_absi.h 772dps8_console.o: dps8.h 773dps8_console.o: dps8_simh.h 774dps8_console.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 775dps8_console.o: dps8_iom.h 776dps8_console.o: dps8_console.h dps8_sys.h 777dps8_console.o: dps8_faults.h 778dps8_console.o: dps8_scu.h dps8_cable.h dps8_cpu.h hdbg.h dps8_mt.h 779dps8_console.o: dps8_disk.h dps8_utils.h libtelnet.h 780dps8_cpu.o: dps8.h 781dps8_cpu.o: dps8_simh.h 782dps8_cpu.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 783dps8_cpu.o: dps8_addrmods.h 784dps8_cpu.o: dps8_sys.h 785dps8_cpu.o: uvutil.h dps8_faults.h dps8_scu.h dps8_iom.h dps8_cable.h 786dps8_cpu.o: dps8_cpu.h hdbg.h dps8_append.h dps8_ins.h dps8_state.h 787dps8_cpu.o: dps8_math.h dps8_iefp.h dps8_console.h dps8_fnp2.h 788dps8_cpu.o: libtelnet.h 789dps8_cpu.o: dps8_socket_dev.h dps8_crdrdr.h dps8_absi.h dps8_utils.h 790dps8_cpu.o: dps8_opcodetable.h 791dps8_crdpun.o: dps8.h 792dps8_crdpun.o: dps8_simh.h 793dps8_crdpun.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 794dps8_crdpun.o: dps8_iom.h 795dps8_crdpun.o: dps8_crdpun.h dps8_sys.h 796dps8_crdpun.o: dps8_scu.h 797dps8_crdpun.o: dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h 798dps8_crdpun.o: utfile.h 799dps8_crdrdr.o: dps8.h 800dps8_crdrdr.o: dps8_simh.h 801dps8_crdrdr.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 802dps8_crdrdr.o: dps8_iom.h 803dps8_crdrdr.o: dps8_crdrdr.h dps8_sys.h 804dps8_crdrdr.o: dps8_scu.h 805dps8_crdrdr.o: dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h 806dps8_decimal.o: dps8_simh.h 807dps8_decimal.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 808dps8_decimal.o: dps8_sys.h 809dps8_decimal.o: dps8_faults.h 810dps8_decimal.o: dps8_scu.h dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h 811dps8_decimal.o: dps8_decimal.h dps8_eis.h dps8_utils.h 812dps8_dia.o: dps8_simh.h 813dps8_dia.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 814dps8_dia.o: dps8_dia.h 815dps8_dia.o: dps8_sys.h 816dps8_dia.o: dps8_scu.h 817dps8_dia.o: dps8_cpu.h hdbg.h dps8_iom.h dps8_cable.h dps8_utils.h 818dps8_dia.o: udplib.h 819dps8_disk.o: dps8_simh.h 820dps8_disk.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 821dps8_disk.o: dps8_iom.h 822dps8_disk.o: dps8_disk.h dps8_sys.h 823dps8_disk.o: dps8_scu.h 824dps8_disk.o: dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h 825dps8_eis.o: dps8_simh.h 826dps8_eis.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 827dps8_eis.o: dps8_sys.h 828dps8_eis.o: dps8_scu.h 829dps8_eis.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_iefp.h 830dps8_eis.o: dps8_decimal.h dps8_ins.h dps8_eis.h dps8_utils.h 831dps8_faults.o: dps8_simh.h 832dps8_faults.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 833dps8_faults.o: dps8_sys.h 834dps8_faults.o: dps8_scu.h 835dps8_faults.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_append.h 836dps8_faults.o: dps8_ins.h dps8_utils.h 837dps8_fnp2.o: dps8_simh.h 838dps8_fnp2.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 839dps8_fnp2.o: dps8_sys.h 840dps8_fnp2.o: dps8_scu.h 841dps8_fnp2.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_fnp2.h 842dps8_fnp2.o: libtelnet.h fnptelnet.h fnpuv.h dps8_utils.h utlist.h 843dps8_fnp2_iomcmd.o: dps8.h 844dps8_fnp2_iomcmd.o: dps8_simh.h dps8_math128.h dps8_hw_consts.h 845dps8_fnp2_iomcmd.o: dps8_em_consts.h dps8_sys.h 846dps8_fnp2_iomcmd.o: dps8_scu.h 847dps8_fnp2_iomcmd.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_fnp2.h 848dps8_fnp2_iomcmd.o: libtelnet.h dps8_fnp2_iomcmd.h dps8_utils.h fnpuv.h 849dps8_iefp.o: dps8.h 850dps8_iefp.o: dps8_simh.h 851dps8_iefp.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 852dps8_iefp.o: dps8_sys.h 853dps8_iefp.o: dps8_scu.h 854dps8_iefp.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_append.h 855dps8_iefp.o: dps8_iefp.h dps8_addrmods.h dps8_utils.h 856dps8_ins.o: dps8_simh.h 857dps8_ins.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 858dps8_ins.o: dps8_addrmods.h 859dps8_ins.o: dps8_sys.h 860dps8_ins.o: uvutil.h dps8_faults.h dps8_scu.h dps8_iom.h dps8_cable.h 861dps8_ins.o: dps8_cpu.h hdbg.h dps8_append.h dps8_eis.h dps8_ins.h 862dps8_ins.o: dps8_math.h 863dps8_ins.o: dps8_opcodetable.h dps8_decimal.h dps8_iefp.h dps8_utils.h 864dps8_ins.o: ver.h 865dps8_ins.o: dps8_prom.h 866dps8_iom.o: dps8.h 867dps8_iom.o: dps8_simh.h 868dps8_iom.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 869dps8_iom.o: dps8_sys.h 870dps8_iom.o: uvutil.h dps8_faults.h dps8_scu.h dps8_iom.h dps8_cable.h 871dps8_iom.o: dps8_cpu.h hdbg.h dps8_console.h dps8_fnp2.h libtelnet.h 872dps8_iom.o: dps8_utils.h 873dps8_math128.o: dps8.h 874dps8_math128.o: dps8_simh.h 875dps8_math128.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 876dps8_math.o: dps8_simh.h 877dps8_math.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 878dps8_math.o: dps8_sys.h 879dps8_math.o: dps8_scu.h 880dps8_math.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_ins.h 881dps8_math.o: dps8_math.h 882dps8_math.o: dps8_utils.h 883dps8_mt.o: dps8_simh.h 884dps8_mt.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h dps8_mt.h 885dps8_mt.o: dps8_sys.h 886dps8_mt.o: dps8_scu.h 887dps8_mt.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h 888dps8_opcodetable.o: dps8.h 889dps8_opcodetable.o: dps8_simh.h dps8_math128.h dps8_hw_consts.h 890dps8_opcodetable.o: dps8_em_consts.h dps8_opcodetable.h 891dps8_prt.o: dps8.h 892dps8_prt.o: dps8_simh.h 893dps8_prt.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 894dps8_prt.o: dps8_iom.h 895dps8_prt.o: dps8_prt.h dps8_sys.h 896dps8_prt.o: dps8_scu.h 897dps8_prt.o: dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h 898dps8_prt.o: utfile.h 899dps8_scu.o: dps8.h 900dps8_scu.o: dps8_simh.h 901dps8_scu.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 902dps8_scu.o: dps8_sys.h 903dps8_scu.o: uvutil.h dps8_faults.h dps8_scu.h dps8_iom.h dps8_cable.h 904dps8_scu.o: dps8_cpu.h hdbg.h dps8_utils.h 905dps8_simh.o: dps8.h 906dps8_simh.o: dps8_simh.h 907dps8_simh.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 908dps8_simh.o: dps8_sys.h 909dps8_simh.o: uvutil.h 910dps8_socket_dev.o: dps8_simh.h 911dps8_socket_dev.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 912dps8_socket_dev.o: dps8_socket_dev.h dps8_sys.h 913dps8_socket_dev.o: dps8_faults.h 914dps8_socket_dev.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h 915dps8_socket_dev.o: errnos.h 916dps8_sys.o: dps8_simh.h 917dps8_sys.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 918dps8_sys.o: dps8_console.h 919dps8_sys.o: dps8_sys.h 920dps8_sys.o: dps8_scu.h 921dps8_sys.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_state.h 922dps8_sys.o: dps8_ins.h 923dps8_sys.o: dps8_math.h dps8_mt.h dps8_socket_dev.h dps8_disk.h 924dps8_sys.o: dps8_append.h 925dps8_sys.o: dps8_fnp2.h libtelnet.h dps8_crdrdr.h dps8_crdpun.h 926dps8_sys.o: dps8_prt.h 927dps8_sys.o: dps8_urp.h dps8_absi.h dps8_utils.h shm.h utlist.h 928dps8_sys.o: ver.h 929dps8_urp.o: dps8.h 930dps8_urp.o: dps8_simh.h 931dps8_urp.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 932dps8_urp.o: dps8_iom.h 933dps8_urp.o: dps8_urp.h dps8_sys.h 934dps8_urp.o: dps8_scu.h 935dps8_urp.o: dps8_cable.h dps8_cpu.h hdbg.h dps8_utils.h 936dps8_utils.o: dps8_simh.h 937dps8_utils.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 938dps8_utils.o: dps8_sys.h 939dps8_utils.o: dps8_scu.h 940dps8_utils.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_ins.h 941dps8_utils.o: dps8_opcodetable.h dps8_utils.h 942fnptelnet.o: dps8_simh.h 943fnptelnet.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 944fnptelnet.o: dps8_sys.h 945fnptelnet.o: dps8_scu.h 946fnptelnet.o: dps8_iom.h dps8_cable.h dps8_cpu.h hdbg.h dps8_fnp2.h 947fnptelnet.o: libtelnet.h dps8_utils.h fnpuv.h fnptelnet.h 948fnpuv.o: dps8_simh.h 949fnpuv.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 950fnpuv.o: dps8_scu.h 951fnpuv.o: dps8_sys.h 952fnpuv.o: dps8_cable.h 953fnpuv.o: dps8_cpu.h hdbg.h dps8_fnp2.h libtelnet.h dps8_utils.h 954fnpuv.o: fnpuv.h 955fnpuv.o: fnptelnet.h 956hdbg.o: dps8.h 957hdbg.o: dps8_simh.h 958hdbg.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 959hdbg.o: dps8_sys.h 960hdbg.o: uvutil.h dps8_cpu.h hdbg.h dps8_utils.h 961libtelnet.o: libtelnet.h 962shm.o: shm.h 963threadz.o: dps8.h 964threadz.o: dps8_simh.h 965threadz.o: dps8_math128.h dps8_hw_consts.h dps8_em_consts.h 966threadz.o: dps8_sys.h 967threadz.o: uvutil.h dps8_cpu.h hdbg.h dps8_faults.h dps8_iom.h 968threadz.o: dps8_utils.h 969threadz.o: threadz.h 970tracker.o: tracker.h 971udplib.o: h316_imp.h 972uvutil.o: dps8.h 973uvutil.o: dps8_hw_consts.h 974uvutil.o: dps8_em_consts.h dps8_sys.h uvutil.h dps8_cpu.h hdbg.h 975uvutil.o: dps8_utils.h 976uvutil.o: libtelnet.h 977utfile.o: utfile.h bsd_random.h 978bsd_random.o: bsd_random.h 979 980############################################################################### 981 982ifdef LIBS 983 export LIBS 984 ifneq (,$(wildcard ../Makefile.mk)) 985 include ../Makefile.mk 986 endif 987endif 988 989############################################################################### 990 991# Local Variables: 992# mode: make 993# tab-width: 4 994# End: 995