home *** CD-ROM | disk | FTP | other *** search
Makefile | 1992-04-10 | 3.2 KB | 121 lines |
- #
- # Makefile for $(PROG)
- #
- # Tweakables:
- #
-
- # Your CC must grok ANSI C
- CC = gcc
- #CC = cc
-
- CFLAGS = -O
- #CFLAGS = -g
-
- STRIP = strip
- #STRIP = touch # use if you don't want the
- # # executable strip'd
-
- SECTION = n
-
- DESTROOT =
- DESTSHR = $(DESTROOT)/usr/share
- DESTSYS = $(DESTROOT)/usr/local
-
- BIN = $(DESTSYS)/bin
- MAN = $(DESTSHR)/man
-
- ########### Don't change anything below this line ##########
-
- PROG = pr2
- OBJS = pr2.o
- SRCS = pr2.c
- MANPAGE = $(PROG).$(SECTION)
- MANDIR = $(MAN)/man$(SECTION)
-
- all: $(PROG) $(MANPAGE)
-
- $(PROG): $(OBJS)
- $(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS) $(LIBS)
- $(STRIP) $(PROG)
-
- $(MANPAGE): $(PROG).man sedscript
- ./sedscript < $(PROG).man > $(MANPAGE)
-
- info:
- @echo
- @echo '`'"make install' will install" \
- "$(PROG) into $(BIN)"
- @echo "and $(MANPAGE) into $(MANDIR)."
- @echo
-
- install: $(PROG) $(MANPAGE)
- -if test ! -d $(BIN) ; then mkdir $(BIN) ; fi
- -if test -r $(BIN)/$(PROG) ; then \
- rm -f $(BIN)/$(PROG).old ; \
- mv $(BIN)/$(PROG) $(BIN)/$(PROG).old ; \
- fi
- cp $(PROG) $(BIN)/$(PROG)
- -if test ! -d $(MAN) ; then mkdir $(MAN) ; fi
- -if test ! -d $(MANDIR) ; then mkdir $(MANDIR) ; fi
- -if test -r $(MANDIR)/$(MANPAGE) ; then \
- rm -f $(MANDIR)/$(MANPAGE).old ; \
- mv $(MANDIR)/$(MANPAGE) $(MANDIR)/$(MANPAGE).old ; \
- fi
- cp $(MANPAGE) $(MANDIR)/$(MANPAGE)
-
- sedscript: Makefile
- @echo building sedscript...
- @rm -f sedscript
- @echo "#!/bin/sh" > sedscript
- @echo 'set `date`' >> sedscript
- @echo 'DATE="$$3 $$2 $$6"' >> sedscript
- @echo 'set '"'"'"'"'"'`grep "^\*.*Revision" $(SRCS)`'"'"'"'"'" \
- >> sedscript
- @echo 'VERSION="$$3"' >> sedscript
- @echo \
- 'sed "s/%V%/$$VERSION/g" | sed "s/%D%/$$DATE/g" | sed "s/%S%/$(SECTION)/g"' \
- >> sedscript
- @chmod 700 sedscript
-
- clean:
- rm -f *.o $(PROG) $(MANPAGE) sedscript
-
- verify: $(PROG) sedscript
- echo "$(PROG) test suite: version %V%" | sedscript > test.suite
- @./$(PROG) -T2 -B4 -L6 -R8 -w40 -l20 $(SRCS) > size.source ; \
- wc size.source >> test.suite ; rm size.source
- @./$(PROG) -T2 -B4 -L6 -R8 -w40 -l20 $(PROG).man > size.$(PROG).man ; \
- wc size.$(PROG).man >> test.suite ; rm size.$(PROG).man
- @./$(PROG) -T2 -B4 -L6 -R8 -w40 -l20 README > size.README ; \
- wc size.README >> test.suite ; rm size.README
- diff test.suite $(PROG).test.suite
- rm test.suite
-
- ############################################################
- #
- # The following are what I use to make a distribution. They
- # probably won't be very helpful to you.
- #
- ############################################################
-
- package: $(PROG).test.suite $(SRCS) $(PROG).man Makefile \
- MANIFEST CHANGES README INSTALL
- @echo "Creating package..."
- makekit -m
-
- CHANGES: $(SRCS)
- sed '1,/Modification/d' $(SRCS) \
- | sed '/\*\*\*\*/,$$d' \
- | sed 's/^........//' > CHANGES
-
- $(PROG).test.suite: $(PROG) sedscript
- rm -f $(PROG).test.suite
- echo "$(PROG) test suite: version %V%" \
- | sedscript > $(PROG).test.suite
- ./$(PROG) -T2 -B4 -L6 -R8 -w40 -l20 $(SRCS) > size.source ; \
- wc size.source >> $(PROG).test.suite ; rm size.source
- ./$(PROG) -T2 -B4 -L6 -R8 -w40 -l20 $(PROG).man > size.$(PROG).man ; \
- wc size.$(PROG).man >> $(PROG).test.suite ; rm size.$(PROG).man
- ./$(PROG) -T2 -B4 -L6 -R8 -w40 -l20 README > size.README ; \
- wc size.README >> $(PROG).test.suite ; rm size.README
-