| |
| # this works in gnu make |
| SYSNAME:=${shell uname} |
| OBJTYPE:=${shell uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'} |
| |
| # this works in bsd make |
| SYSNAME!=uname |
| OBJTYPE!=uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g' |
| |
| # the gnu rules will mess up bsd but not vice versa, |
| # hence the gnu rules come first. |
| |
| include Make.$(SYSNAME)-$(OBJTYPE) |
| |
| PREFIX=/usr/local |
| |
| NUKEFILES= |
| |
| TGZFILES= |
| |
| LIB=libfmt.a |
| VERSION=2.0 |
| PORTPLACE=devel/libfmt |
| NAME=libfmt |
| |
| NUM=\ |
| charstod.$O\ |
| pow10.$O\ |
| |
| OFILES=\ |
| dofmt.$O\ |
| errfmt.$O\ |
| fltfmt.$O\ |
| fmt.$O\ |
| fmtfd.$O\ |
| fmtfdflush.$O\ |
| fmtlock.$O\ |
| fmtprint.$O\ |
| fmtquote.$O\ |
| fmtrune.$O\ |
| fmtstr.$O\ |
| fmtvprint.$O\ |
| fprint.$O\ |
| print.$O\ |
| runefmtstr.$O\ |
| runeseprint.$O\ |
| runesmprint.$O\ |
| runesnprint.$O\ |
| runesprint.$O\ |
| runevseprint.$O\ |
| runevsmprint.$O\ |
| runevsnprint.$O\ |
| seprint.$O\ |
| smprint.$O\ |
| snprint.$O\ |
| sprint.$O\ |
| strtod.$O\ |
| vfprint.$O\ |
| vseprint.$O\ |
| vsmprint.$O\ |
| vsnprint.$O\ |
| $(NUM)\ |
| $(NAN)\ |
| |
| HFILES=\ |
| fmtdef.h\ |
| fmt.h\ |
| |
| all: $(LIB) |
| |
| install: $(LIB) |
| test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3 |
| install -m 0644 print.3 $(PREFIX)/man/man3/print.3 |
| install -m 0644 fmtinstall.3 $(PREFIX)/man/man3/fmtinstall.3 |
| install -m 0644 fmt.h $(PREFIX)/include/fmt.h |
| install -m 0644 $(LIB) $(PREFIX)/lib/$(LIB) |
| |
| $(NAN).$O: nan.h |
| strtod.$O: nan.h |
| |
| test: $(LIB) test.$O |
| $(CC) -o test test.$O $(LIB) -L$(PREFIX)/lib -lutf |
| |
| $(LIB): $(OFILES) |
| $(AR) $(ARFLAGS) $(LIB) $(OFILES) |
| |
| NUKEFILES+=$(LIB) |
| .c.$O: |
| $(CC) $(CFLAGS) -I$(PREFIX)/include $*.c |
| |
| %.$O: %.c |
| $(CC) $(CFLAGS) -I$(PREFIX)/include $*.c |
| |
| |
| $(OFILES): $(HFILES) |
| |
| tgz: |
| rm -rf $(NAME)-$(VERSION) |
| mkdir $(NAME)-$(VERSION) |
| cp Makefile Make.* README LICENSE NOTICE *.[ch137] rpm.spec bundle.ports $(TGZFILES) $(NAME)-$(VERSION) |
| tar cf - $(NAME)-$(VERSION) | gzip >$(NAME)-$(VERSION).tgz |
| rm -rf $(NAME)-$(VERSION) |
| |
| clean: |
| rm -f $(OFILES) $(LIB) |
| |
| nuke: |
| rm -f $(OFILES) *.tgz *.rpm $(NUKEFILES) |
| |
| rpm: |
| make tgz |
| cp $(NAME)-$(VERSION).tgz /usr/src/RPM/SOURCES |
| rpm -ba rpm.spec |
| cp /usr/src/RPM/SRPMS/$(NAME)-$(VERSION)-1.src.rpm . |
| cp /usr/src/RPM/RPMS/i586/$(NAME)-$(VERSION)-1.i586.rpm . |
| scp *.rpm rsc@amsterdam.lcs.mit.edu:public_html/software |
| |
| PORTDIR=/usr/ports/$(PORTPLACE) |
| |
| ports: |
| make tgz |
| rm -rf $(PORTDIR) |
| mkdir $(PORTDIR) |
| cp $(NAME)-$(VERSION).tgz /usr/ports/distfiles |
| cat bundle.ports | (cd $(PORTDIR) && awk '$$1=="---" && $$3=="---" { ofile=$$2; next} {if(ofile) print >ofile}') |
| (cd $(PORTDIR); make makesum) |
| (cd $(PORTDIR); make) |
| (cd $(PORTDIR); /usr/local/bin/portlint) |
| rm -rf $(PORTDIR)/work |
| shar `find $(PORTDIR)` > ports.shar |
| (cd $(PORTDIR); tar cf - *) | gzip >$(NAME)-$(VERSION)-ports.tgz |
| scp *.tgz rsc@amsterdam.lcs.mit.edu:public_html/software |
| |
| .phony: all clean nuke install tgz rpm ports |