1 # 2 # Makefile for pdisk 3 # 4 5 MAN_PAGE= \ 6 pdisk.8 7 8 MAC_DOC= \ 9 pdisk.html 10 11 DOCS= \ 12 HISTORY \ 13 README \ 14 $(MAN_PAGE) \ 15 $(MAC_DOC) 16 17 SERVER_README = \ 18 dist.README 19 20 SERVER_MESSAGE = \ 21 dist.message 22 23 DOCS_INTERNAL= \ 24 HISTORY.ALL \ 25 HOWTO.DISTRIBUTE \ 26 To_do_list \ 27 command-language 28 29 SUPPORT= \ 30 make_filename \ 31 make_depend \ 32 make_tags \ 33 checkin_files \ 34 MPWcompare \ 35 name_latest \ 36 next_release 37 38 MAC_SOURCE= \ 39 ATA_media.c \ 40 ATA_media.h \ 41 DoSCSICommand.c \ 42 DoSCSICommand.h \ 43 MacSCSICommand.h \ 44 SCSI_media.c \ 45 SCSI_media.h \ 46 pdisk.r 47 48 UNIX_SOURCE= \ 49 bitfield.c \ 50 bitfield.h \ 51 convert.c \ 52 convert.h \ 53 cvt_pt.c \ 54 deblock_media.c \ 55 deblock_media.h \ 56 dpme.h \ 57 dump.c \ 58 dump.h \ 59 errors.c \ 60 errors.h \ 61 file_media.c \ 62 file_media.h \ 63 hfs_misc.c \ 64 hfs_misc.h \ 65 io.c \ 66 io.h \ 67 layout_dump.c \ 68 layout_dump.h \ 69 makefile \ 70 media.c \ 71 media.h \ 72 partition_map.c \ 73 partition_map.h \ 74 pathname.c \ 75 pathname.h \ 76 pdisk.c \ 77 pdisk.h \ 78 util.c \ 79 util.h \ 80 validate.c \ 81 validate.h \ 82 version.h 83 84 COMMON_OBJECTS = \ 85 partition_map.o \ 86 bitfield.o \ 87 convert.o \ 88 deblock_media.o \ 89 file_media.o \ 90 errors.o \ 91 hfs_misc.o \ 92 io.o \ 93 media.o \ 94 pathname.o \ 95 util.o 96 97 UNIX_OBJECTS = \ 98 pdisk.o \ 99 dump.o \ 100 $(COMMON_OBJECTS) \ 101 validate.o 102 103 CVT_OBJECTS = \ 104 cvt_pt.o \ 105 $(COMMON_OBJECTS) 106 107 108 109 ALL_FILES= $(DOCS) $(DOCS_INTERNAL) $(SUPPORT) $(MAC_SOURCE) $(UNIX_SOURCE) 110 111 UNIX_BINARIES= \ 112 pdisk \ 113 cvt_pt 114 115 # 116 # these names have '__' in place of ' ' to avoid quoting nightmares 117 # 118 MAC_PROJECT= \ 119 pdisk.mac.bin \ 120 pdisk.mac__Data/CW__Settings.stm.bin \ 121 pdisk.mac__Data/pdisk.tdm.bin \ 122 pdisk.mac__Data/pdisk__68k.tdm.bin 123 124 # Constructed under MacOS using CodeWarrior from MAC_PROJECT & sources 125 MAC_BINARY= \ 126 pdisk.hqx 127 128 MAC_68KBINARY= \ 129 pdisk_68k.hqx 130 131 132 CFLAGS = -Wall -D__unix__ -g 133 DIST_TAR_FLAGS = cvf 134 135 136 all: $(UNIX_BINARIES) 137 138 pdisk: $(UNIX_OBJECTS) 139 cc -o pdisk $(UNIX_OBJECTS) 140 141 cvt_pt: $(CVT_OBJECTS) 142 cc -o cvt_pt $(CVT_OBJECTS) 143 144 tags: $(MAC_SOURCE) $(UNIX_SOURCE) 145 ctags $(MAC_SOURCE) $(UNIX_SOURCE) 146 147 clean: 148 rm -f *.o $(UNIX_BINARIES) list.src 149 150 clobber: clean 151 rm -f $(ALL_FILES) $(MAC_BINARY) $(MAC_68KBINARY) tags 152 153 # note the sed to reinsert the spaces in the Mac names 154 list.src: $(MAC_SOURCE) $(DOCS) $(UNIX_SOURCE) $(MAC_PROJECT) 155 echo $(MAC_SOURCE) $(DOCS) $(UNIX_SOURCE) $(MAC_PROJECT) |\ 156 tr ' ' '\n' | sed -e 's/__/ /g' -e 's,^,pdisk/,' >list.src 157 158 # 159 # this depends on this source directory being named 'pdisk' 160 # 161 distribution: list.src 162 cd ..; tar $(DIST_TAR_FLAGS) pdisk/dist/pdisk.src.tar.`date +%Y%m%d` --files-from pdisk/list.src 163 tar $(DIST_TAR_FLAGS) dist/pdisk.bin.tar.`date +%Y%m%d` $(UNIX_BINARIES) $(MAN_PAGE) 164 cp -f $(MAC_DOC) dist/$(MAC_DOC).`date +%Y%m%d` 165 cp -f $(MAC_BINARY) dist/$(MAC_BINARY).`date +%Y%m%d` 166 cp -f $(MAC_68KBINARY) dist/$(MAC_68KBINARY).`date +%Y%m%d` 167 168 checkin: 169 ./checkin_files $(ALL_FILES) 170 171 checkout: $(ALL_FILES) 172 173 diff: 174 rcsdiff $(ALL_FILES) 2>&1 175 176 name: 177 ./name_latest $(ALL_FILES) 178 179 # 180 # in lieu of a real dependency generator 181 # 182 convert.h: dpme.h 183 deblock_media.h: media.h 184 dpme.h: bitfield.h 185 dump.h: partition_map.h hfs_misc.h 186 file_media.h: media.h 187 partition_map.h: dpme.h media.h 188 pathname.h: media.h 189 validate.h: partition_map.h 190 191 bitfield.o: bitfield.c bitfield.h 192 convert.o: convert.c convert.h 193 deblock_media.o: deblock_media.c deblock_media.h 194 dump.o: dump.c dump.h pathname.h io.h errors.h 195 errors.o: errors.c errors.h 196 file_media.o: file_media.c file_media.h errors.h 197 io.o: io.c io.h errors.h 198 layout_dump.o: layout_dump.c layout_dump.h 199 media.o: media.c media.h 200 partition_map.o: partition_map.c partition_map.h pathname.h deblock_media.h io.h convert.h util.h errors.h 201 pathname.o: pathname.c pathname.h file_media.h 202 pdisk.o: pdisk.c pdisk.h io.h partition_map.h pathname.h errors.h dump.h validate.h version.h util.h 203 util.o: util.c version.h util.h 204 validate.o: validate.c validate.h deblock_media.h pathname.h convert.h io.h errors.h 205 206 207 # 208 # fake dependencies used only by list.src {for $(MAC_PROJECT)} 209 # 210 pdisk.mac__Data/CW__Settings.stm.bin: 211 pdisk.mac__Data/pdisk.tdm.bin: 212 pdisk.mac__Data/pdisk__68k.tdm.bin: 213