1439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 2439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin# this works in gnu make 3439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinSYSNAME:=${shell uname} 4439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinOBJTYPE:=${shell uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'} 5439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 6439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin# this works in bsd make 7439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinSYSNAME!=uname 8439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinOBJTYPE!=uname -m | sed 's;i.86;386;; s;amd64;x864_64;; s;/.*;;; s; ;;g' 9439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 10439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin# the gnu rules will mess up bsd but not vice versa, 11439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin# hence the gnu rules come first. 12439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 13439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinRANLIB=true 14439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 15439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkininclude Make.$(SYSNAME)-$(OBJTYPE) 16439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 17439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinPREFIX=/usr/local 18439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 19439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinNUKEFILES= 20439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 21439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinTGZFILES= 22439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 23439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinCLEANFILES= 24439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 25439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinLIB=libutf.a 26439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinVERSION=2.0 27439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinPORTPLACE=devel/libutf 28439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinNAME=libutf 29439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 30439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinOFILES=\ 31439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rune.$O\ 32439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrcat.$O\ 33439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrchr.$O\ 34439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrcmp.$O\ 35439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrcpy.$O\ 36439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrdup.$O\ 37439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrlen.$O\ 38439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrecpy.$O\ 39439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrncat.$O\ 40439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrncmp.$O\ 41439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrncpy.$O\ 42439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrrchr.$O\ 43439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runestrstr.$O\ 44439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin runetype.$O\ 45439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin utfecpy.$O\ 46439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin utflen.$O\ 47439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin utfnlen.$O\ 48439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin utfrrune.$O\ 49439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin utfrune.$O\ 50439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin utfutf.$O\ 51439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 52439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinHFILES=\ 53439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin utf.h\ 54439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 55439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkinall: $(LIB) 56439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 57439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkininstall: $(LIB) 58439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin mkdir -p $(PREFIX)/share/man/man3 $(PREFIX)/man/man7 59439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin install -c -m 0644 isalpharune.3 $(PREFIX)/share/man/man3/isalpharune.3 60439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin install -c -m 0644 utf.7 $(PREFIX)/man/man7/utf.7 61439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin install -c -m 0644 rune.3 $(PREFIX)/share/man/man3/rune.3 62439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin install -c -m 0644 runestrcat.3 $(PREFIX)/share/man/man3/runestrcat.3 63439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin mkdir -p $(PREFIX)/include 64439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin install -c -m 0644 utf.h $(PREFIX)/include/utf.h 65439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin mkdir -p $(PREFIX)/lib 66439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin install -c -m 0644 $(LIB) $(PREFIX)/lib/$(LIB) 67439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 68439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin$(LIB): $(OFILES) 69439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin $(AR) $(ARFLAGS) $(LIB) $(OFILES) 70439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin $(RANLIB) $(LIB) 71439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 72439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinNUKEFILES+=$(LIB) 73439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin.c.$O: 74439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin $(CC) $(CFLAGS) -I../libutf -I../libfmt -I../libbio -I../libregexp -I$(PREFIX)/include $*.c 75439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 76439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin%.$O: %.c 77439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin $(CC) $(CFLAGS) -I../libutf -I../libfmt -I../libbio -I../libregexp -I$(PREFIX)/include $*.c 78439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 79439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 80439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin$(OFILES): $(HFILES) 81439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 82439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkintgz: 83439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rm -rf $(NAME)-$(VERSION) 84439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin mkdir $(NAME)-$(VERSION) 85439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin cp Makefile Make.* README LICENSE NOTICE *.[ch137] rpm.spec bundle.ports $(TGZFILES) $(NAME)-$(VERSION) 86439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin tar cf - $(NAME)-$(VERSION) | gzip >$(NAME)-$(VERSION).tgz 87439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rm -rf $(NAME)-$(VERSION) 88439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 89439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkinclean: 90439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rm -f $(OFILES) $(LIB) $(CLEANFILES) 91439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 92439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkinnuke: 93439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rm -f $(OFILES) *.tgz *.rpm $(NUKEFILES) 94439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 95439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkinrpm: 96439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin make tgz 97439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin cp $(NAME)-$(VERSION).tgz /usr/src/RPM/SOURCES 98439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rpm -ba rpm.spec 99439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin cp /usr/src/RPM/SRPMS/$(NAME)-$(VERSION)-1.src.rpm . 100439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin cp /usr/src/RPM/RPMS/i586/$(NAME)-$(VERSION)-1.i586.rpm . 101439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin scp *.rpm rsc@amsterdam.lcs.mit.edu:public_html/software 102439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 103439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander GutkinPORTDIR=/usr/ports/$(PORTPLACE) 104439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 105439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkinports: 106439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin make tgz 107439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rm -rf $(PORTDIR) 108439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin mkdir $(PORTDIR) 109439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin cp $(NAME)-$(VERSION).tgz /usr/ports/distfiles 110439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin cat bundle.ports | (cd $(PORTDIR) && awk '$$1=="---" && $$3=="---" { ofile=$$2; next} {if(ofile) print >ofile}') 111439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin (cd $(PORTDIR); make makesum) 112439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin (cd $(PORTDIR); make) 113439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin (cd $(PORTDIR); /usr/local/bin/portlint) 114439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin rm -rf $(PORTDIR)/work 115439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin shar `find $(PORTDIR)` > ports.shar 116439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin (cd $(PORTDIR); tar cf - *) | gzip >$(NAME)-$(VERSION)-ports.tgz 117439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin scp *.tgz rsc@amsterdam.lcs.mit.edu:public_html/software 118439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin 119439f3d1f87279a8be383ee01ef98cb9a5ca68573Alexander Gutkin.phony: all clean nuke install tgz rpm ports 120