# # this makefile subsumes all the work done in Build.cmd, BuildDisk.cmd, BuildDisk.ps1 # SYSTEMS = ../CPM22/cpm_wbw.sys ../ZSDOS/zsys_wbw.sys ../CPM3/cpmldr.sys FDIMGS = fd144_cpm22.img fd144_zsdos.img fd144_nzcom.img \ fd144_cpm3.img fd144_zpm3.img fd144_ws4.img HDIMGS = hd_cpm22.img hd_zsdos.img hd_nzcom.img \ hd_cpm3.img hd_zpm3.img hd_ws4.img # HDIMGS += hd_bp.img HDNEWIMGS = hdnew_cpm22.img hdnew_zsdos.img hdnew_nzcom.img \ hdnew_cpm3.img hdnew_zpm3.img hdnew_ws4.img # HDNEWIMGS += hdnew_bp.img HDPREFIX = HDNEWPREFIX = hdnew_prefix.bin OBJECTS = $(FDIMGS) OBJECTS += $(HDIMGS) hd_combo.img $(HDPREFIX) OBJECTS += $(HDNEWIMGS) hdnew_combo.img $(HDNEWPREFIX) OTHERS = blank144 blankhd blankhdnew NODELETE = $(HDPREFIX) $(HDNEWPREFIX) DEST=../../Binary TOOLS = ../../Tools include $(TOOLS)/Makefile.inc DIFFPATH = $(DIFFTO)/Binary hd_combo.img: $(HDPREFIX) $(HDIMGS) cat $^ > $@ hdnew_combo.img: $(HDNEWPREFIX) $(HDNEWIMGS) cat $^ > $@ # # this somewhat impenetrable and fragile code is used to build each of the images # at build time, a few variables are set (sys, fmt, type, size, d) based on the # target to build. first, we build an empty image using the a tr, dd pipeline. # we then scan the d_{d}/u* directories, copying in files to user numbers # then process the d_{d}.txt file, copying in those files, and finally maybe put # an OS at the start of each image # FDSIZE := 1440 blank144: @echo Making Blank Floppy of size $(FDSIZE)k @LC_ALL=en_US.US-ASCII tr '\000' '\345' $$i.ls ; \ $(BINDIR)/cpmls -i -f $$fmt $(DIFFPATH)/$$i > $$i.diff.ls ; \ done \