| |
| # 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= |
| |
| TARG=mk |
| VERSION=2.0 |
| PORTPLACE=devel/mk |
| NAME=mk |
| |
| OFILES=\ |
| arc.$O\ |
| archive.$O\ |
| bufblock.$O\ |
| env.$O\ |
| file.$O\ |
| graph.$O\ |
| job.$O\ |
| lex.$O\ |
| main.$O\ |
| match.$O\ |
| mk.$O\ |
| parse.$O\ |
| recipe.$O\ |
| rule.$O\ |
| run.$O\ |
| sh.$O\ |
| shprint.$O\ |
| symtab.$O\ |
| var.$O\ |
| varsub.$O\ |
| word.$O\ |
| unix.$O\ |
| |
| HFILES=\ |
| mk.h\ |
| fns.h\ |
| |
| all: $(TARG) |
| |
| TGZFILES+=mk.pdf |
| |
| install: $(LIB) |
| test -d $(PREFIX)/man/man1 || mkdir $(PREFIX)/man/man1 |
| test -d $(PREFIX)/doc || mkdir $(PREFIX)/doc |
| install -m 0755 mk $(PREFIX)/bin/mk |
| cat mk.1 | sed 's;DOCPREFIX;$(PREFIX);g' >mk.1a |
| install -m 0644 mk.1a $(PREFIX)/man/man1/mk.1 |
| install -m 0644 mk.pdf $(PREFIX)/doc/mk.pdf |
| |
| |
| $(TARG): $(OFILES) |
| $(CC) -o $(TARG) $(OFILES) -L$(PREFIX)/lib -lregexp9 -lbio -lfmt -lutf |
| |
| |
| .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 |