Makefile (4138B)
1 .POSIX: 2 include config.mk 3 4 .SUFFIXES: 5 .SUFFIXES: .y .o .c 6 7 CPPFLAGS =\ 8 -DPREFIX=\"$(PREFIX)\" \ 9 -D_DEFAULT_SOURCE \ 10 -D_NETBSD_SOURCE \ 11 -D_BSD_SOURCE \ 12 -D_XOPEN_SOURCE=700 \ 13 -D_FILE_OFFSET_BITS=64 14 15 HDR =\ 16 arg.h\ 17 compat.h\ 18 crypt.h\ 19 fs.h\ 20 md5.h\ 21 queue.h\ 22 sha1.h\ 23 sha224.h\ 24 sha256.h\ 25 sha384.h\ 26 sha512.h\ 27 sha512-224.h\ 28 sha512-256.h\ 29 text.h\ 30 utf.h\ 31 util.h 32 33 LIBUTFOBJ =\ 34 libutf/fgetrune.o\ 35 libutf/fputrune.o\ 36 libutf/isalnumrune.o\ 37 libutf/isalpharune.o\ 38 libutf/isblankrune.o\ 39 libutf/iscntrlrune.o\ 40 libutf/isdigitrune.o\ 41 libutf/isgraphrune.o\ 42 libutf/isprintrune.o\ 43 libutf/ispunctrune.o\ 44 libutf/isspacerune.o\ 45 libutf/istitlerune.o\ 46 libutf/isxdigitrune.o\ 47 libutf/lowerrune.o\ 48 libutf/rune.o\ 49 libutf/runetype.o\ 50 libutf/upperrune.o\ 51 libutf/utf.o\ 52 libutf/utftorunestr.o 53 54 LIBUTILOBJ =\ 55 libutil/concat.o\ 56 libutil/cp.o\ 57 libutil/crypt.o\ 58 libutil/confirm.o\ 59 libutil/ealloc.o\ 60 libutil/enmasse.o\ 61 libutil/eprintf.o\ 62 libutil/eregcomp.o\ 63 libutil/estrtod.o\ 64 libutil/fnck.o\ 65 libutil/fshut.o\ 66 libutil/getlines.o\ 67 libutil/human.o\ 68 libutil/linecmp.o\ 69 libutil/md5.o\ 70 libutil/memmem.o\ 71 libutil/mkdirp.o\ 72 libutil/mode.o\ 73 libutil/parseoffset.o\ 74 libutil/putword.o\ 75 libutil/reallocarray.o\ 76 libutil/recurse.o\ 77 libutil/rm.o\ 78 libutil/sha1.o\ 79 libutil/sha224.o\ 80 libutil/sha256.o\ 81 libutil/sha384.o\ 82 libutil/sha512.o\ 83 libutil/sha512-224.o\ 84 libutil/sha512-256.o\ 85 libutil/strcasestr.o\ 86 libutil/strlcat.o\ 87 libutil/strlcpy.o\ 88 libutil/strsep.o\ 89 libutil/strnsubst.o\ 90 libutil/strtonum.o\ 91 libutil/unescape.o\ 92 libutil/writeall.o 93 94 LIB = libutf.a libutil.a 95 96 BIN =\ 97 basename\ 98 bc\ 99 cal\ 100 cat\ 101 chgrp\ 102 chmod\ 103 chown\ 104 chroot\ 105 cksum\ 106 cmp\ 107 cols\ 108 comm\ 109 cp\ 110 cron\ 111 cut\ 112 date\ 113 dc\ 114 dd\ 115 dirname\ 116 du\ 117 echo\ 118 ed\ 119 env\ 120 expand\ 121 expr\ 122 false\ 123 find\ 124 flock\ 125 fold\ 126 getconf\ 127 grep\ 128 head\ 129 hostname\ 130 join\ 131 kill\ 132 link\ 133 ln\ 134 logger\ 135 logname\ 136 ls\ 137 make/make\ 138 md5sum\ 139 mkdir\ 140 mkfifo\ 141 mknod\ 142 mktemp\ 143 mv\ 144 nice\ 145 nl\ 146 nohup\ 147 od\ 148 paste\ 149 pathchk\ 150 printenv\ 151 printf\ 152 pwd\ 153 readlink\ 154 renice\ 155 rev\ 156 rm\ 157 rmdir\ 158 sed\ 159 seq\ 160 setsid\ 161 sha1sum\ 162 sha224sum\ 163 sha256sum\ 164 sha384sum\ 165 sha512sum\ 166 sha512-224sum\ 167 sha512-256sum\ 168 sleep\ 169 sort\ 170 split\ 171 sponge\ 172 strings\ 173 sync\ 174 tail\ 175 tar\ 176 tee\ 177 test\ 178 tftp\ 179 time\ 180 touch\ 181 tr\ 182 true\ 183 tsort\ 184 tty\ 185 uname\ 186 unexpand\ 187 uniq\ 188 unlink\ 189 uudecode\ 190 uuencode\ 191 wc\ 192 which\ 193 whoami\ 194 xargs\ 195 xinstall\ 196 yes 197 198 MAKEOBJ =\ 199 make/defaults.o\ 200 make/main.o\ 201 make/parser.o\ 202 make/posix.o\ 203 make/rules.o\ 204 205 OBJ = $(LIBUTFOBJ) $(LIBUTILOBJ) $(MAKEOBJ) 206 207 all: scripts/make 208 +@$(SMAKE) $(BIN) 209 210 scripts/make: 211 $(CC) -o $@ make/*.c 212 213 $(BIN): $(LIB) 214 215 $(OBJ) $(BIN): $(HDR) 216 217 .o: 218 $(CC) $(LDFLAGS) -o $@ $< $(LIB) 219 220 .c.o: 221 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< 222 223 .c: 224 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIB) 225 226 bc: bc.c 227 $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ bc.c $(LIB) 228 229 $(MAKEOBJ): make/make.h 230 231 make/make: $(MAKEOBJ) 232 $(CC) $(LDFLAGS) -o $@ $(MAKEOBJ) $(LIB) 233 234 libutf.a: $(LIBUTFOBJ) 235 $(AR) $(ARFLAGS) $@ $? 236 $(RANLIB) $@ 237 238 libutil.a: $(LIBUTILOBJ) 239 $(AR) $(ARFLAGS) $@ $? 240 $(RANLIB) $@ 241 242 getconf: getconf.h 243 244 getconf.h: 245 scripts/getconf.sh > $@ 246 247 proto: $(BIN) 248 scripts/mkproto $(DESTDIR)$(PREFIX) $(DESTDIR)$(MANPREFIX) proto 249 250 install uninstall: proto 251 scripts/$@ proto 252 253 sbase-box-install: sbase-box proto 254 scripts/install proto 255 $(DESTDIR)$(PREFIX)/bin/sbase-box -i $(DESTDIR)$(PREFIX)/bin/ 256 257 sbase-box-uninstall: sbase-box proto 258 $(DESTDIR)$(PREFIX)/bin/sbase-box -d $(DESTDIR)$(PREFIX)/bin/ 259 scripts/uninstall proto 260 261 tests: all 262 @cd $@ && $(MAKE) 263 264 dist: clean 265 mkdir -p sbase 266 cp LICENSE Makefile README TODO config.mk *.c *.1 *.h sbase 267 cp -R libutf libutil make scripts tests sbase 268 mv sbase sbase-$(VERSION) 269 tar -cf sbase-$(VERSION).tar sbase-$(VERSION) 270 gzip sbase-$(VERSION).tar 271 rm -rf sbase-$(VERSION) 272 273 sbase-box: $(BIN) 274 scripts/mkbox 275 $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ build/*.c $(LIB) 276 277 clean: 278 @cd tests && $(MAKE) clean 279 rm -f *.o 280 rm -f $(BIN) $(LIB) sbase-box sbase-$(VERSION).tar.gz 281 rm -f scripts/make 282 rm -f getconf.h bc.c 283 rm -f proto 284 rm -rf build 285 286 .PHONY: all install uninstall dist sbase-box-install sbase-box-uninstall clean