| |
| # 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=libthread.a |
| VERSION=2.0 |
| PORTPLACE=devel/libthread |
| NAME=libthread |
| |
| OFILES=\ |
| $(OBJTYPE).$O\ |
| asm-$(SYSNAME)-$(OBJTYPE).$O\ |
| channel.$O\ |
| chanprint.$O\ |
| create.$O\ |
| debug.$O\ |
| exec-unix.$O\ |
| exit.$O\ |
| getpid.$O\ |
| id.$O\ |
| iocall.$O\ |
| ioclose.$O\ |
| ioopen.$O\ |
| ioproc.$O\ |
| ioread.$O\ |
| ioreadn.$O\ |
| iowrite.$O\ |
| kill.$O\ |
| lib.$O\ |
| main.$O\ |
| memset.$O\ |
| memsetd.$O\ |
| note.$O\ |
| proctab.$O\ |
| ref.$O\ |
| rendez.$O\ |
| sched.$O\ |
| |
| HFILES=\ |
| thread.h\ |
| label.h\ |
| threadimpl.h\ |
| |
| all: $(LIB) |
| |
| install: $(LIB) |
| test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3 |
| install -m 0644 thread.3 $(PREFIX)/man/man3/thread.3 |
| install -m 0644 ioproc.3 $(PREFIX)/man/man3/ioproc.3 |
| install -m 0644 thread.h $(PREFIX)/include/thread.h |
| install -m 0644 $(LIB) $(PREFIX)/lib/$(LIB) |
| |
| tprimes: $(LIB) tprimes.$O |
| $(CC) -o tprimes tprimes.$O $(LIB) -L$(PREFIX)/lib -l9 -lfmt -lutf |
| |
| texec: $(LIB) texec.$O |
| $(CC) -o texec texec.$O $(LIB) -L$(PREFIX)/lib -l9 -lfmt -lutf |
| |
| $(LIB): $(OFILES) |
| $(AR) $(ARFLAGS) $(LIB) $(OFILES) |
| |
| NUKEFILES+=$(LIB) |
| .c.$O: |
| $(CC) $(CFLAGS) -I/usr/X11R6/include -I../sam -I$(PREFIX)/include $*.c |
| |
| %.$O: %.c |
| $(CC) $(CFLAGS) -I/usr/X11R6/include -I../sam -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 |