diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 133 |
1 files changed, 88 insertions, 45 deletions
@@ -1,67 +1,110 @@ -SCRIPTS_IN := inpatch newpatch patchadd poppatch pushpatch refpatch toppatch \ - importpatch -LIB_SCRIPTS_IN := apatch rpatch patchfns backup-files -LIB_SCRIPTS := touched-by-patch parse-patch -#LIB_LIB := patchfns +PACKAGE := quilt +VERSION := 0.21 -VERSION := 0.11.1 +prefix := /usr/local +bindir := $(prefix)/bin +datadir := $(prefix)/share +mandir := $(datadir)/man +docdir := $(datadir)/doc/packages -prefix := /usr/local -bindir := $(prefix)/bin -datadir := $(prefix)/share -LIB := $(datadir)/patch-scripts -docdir := $(datadir)/doc/packages +QUILT_DIR = $(datadir)/$(PACKAGE) +LIB_DIR = $(datadir)/$(PACKAGE)/lib -CFLAGS = -Wall +CFLAGS = -g -Wall -% : %.in - @echo "$< -> $@" - @sed -e "s:@LIB@:$(LIB):g" $< > $@ - @chmod --reference=$< $@ +#----------------------------------------------------------------------- +SRC += COPYING AUTHORS TODO BUGS Makefile \ + quilt.spec quilt.changes \ + misc/akmp-patch-scripts-0.9.tar.gz \ + misc/jr-quilt-0.1.0.tar.bz2 \ + misc/test.tar.gz + +BIN_IN := quilt +BIN_SRC := $(BIN_IN:%=%.in) guards +BIN := $(BIN_IN) guards +SRC += $(BIN_SRC:%=bin/%) +DIRT += $(BIN_IN:%=bin/%) + +QUILT_IN := add applied delete diff files import new next patches \ + pop previous push refresh remove rest series setup top -all : scripts README +QUILT_SRC := $(QUILT_IN:%=%.in) +QUILT := $(QUILT_IN) +SRC += $(QUILT_SRC:%=quilt/%) +DIRT += $(QUILT_IN:%=quilt/%) -scripts : $(SCRIPTS_IN) $(LIB_SCRIPTS_IN:%=lib/%) +LIB_IN := apatch rpatch patchfns +LIB_SRC := $(LIB_IN:%=%.in) parse-patch spec2series \ + backup-files.c +LIB := $(LIB_IN) parse-patch spec2series backup-files +SRC += $(LIB_SRC:%=lib/%) +DIRT += $(LIB_IN:%=lib/%) lib/backup-files{,.o} + +DOC_IN := README +DOC_SRC := $(DOC_IN:%=%.in) +DOC := $(DOC_IN) docco.txt +SRC += $(DOC_SRC) docco.txt +DIRT += $(DOC_IN) + +MAN1 := bin/guards.1 +#----------------------------------------------------------------------- + +all : scripts + +scripts : $(BIN:%=bin/%) $(QUILT:%=quilt/%) $(LIB:%=lib/%) \ + $(DOC) $(MAN1) README : README.in - @echo "$< -> $@" @awk '/@REFERENCE@/ { system("$(MAKE) -s reference") ; next }'$$'\n'' \ - { print }' $< > $@ + { print }' 2>&1 $< > $@ -reference : $(SCRIPTS_IN) - @for i in $(SCRIPTS_IN); \ +.PHONY :: reference +reference : $(QUILT:%=quilt/%) + @for i in $+; \ do \ + echo "$$i >> README" >&2; \ echo; \ - ./$$i -h; \ + (bash -c ". lib/patchfns ; . $$i -h"); \ done | \ awk '/Usage:/ { sub(/Usage: ?/, "") ; print ; next } '$$'\n'' \ { printf " %s\n", $$0 }' -dist : distclean - rm -f patch-scripts-$(VERSION) - ln -s . patch-scripts-$(VERSION) - tar cvfz patch-scripts-$(VERSION).tar.gz \ - --exclude=patch-scripts-$(VERSION)/patch-scripts-* \ - --exclude=CVS \ - patch-scripts-$(VERSION)/* - rm -f patch-scripts-$(VERSION) +bin/guards.1 : bin/guards + mkdir -p $$(dirname $@) + pod2man $< > $@ -install : all - install -d $(BUILD_ROOT)$(LIB) - install -m 755 $(LIB_SCRIPTS_IN:%=lib/%) \ - $(BUILD_ROOT)$(LIB) - install -m 755 $(LIB_SCRIPTS:%=lib/%) \ - $(BUILD_ROOT)$(LIB) - #install -m 644 $(LIB_LIB:%=lib/%) \ - # $(BUILD_ROOT)$(LIB) +dist : + rm -f $(PACKAGE)-$(VERSION) + ln -s . $(PACKAGE)-$(VERSION) + tar cvfz $(PACKAGE)-$(VERSION).tar.gz \ + $(SRC:%=$(PACKAGE)-$(VERSION)/%) + rm -f $(PACKAGE)-$(VERSION) +install : all install -d $(BUILD_ROOT)$(bindir) - install -m 755 $(SCRIPTS_IN) \ - $(BUILD_ROOT)$(bindir) + install -m 755 $(BIN:%=bin/%) $(BUILD_ROOT)$(bindir)/ + + install -d $(BUILD_ROOT)$(QUILT_DIR) + install -m 755 $(QUILT:%=quilt/%) $(BUILD_ROOT)$(QUILT_DIR)/ + + install -d $(BUILD_ROOT)$(LIB_DIR) + install -m 755 $(filter-out lib/patchfns lib/backup-files, \ + $(LIB:%=lib/%)) $(BUILD_ROOT)$(LIB_DIR)/ + install -m 644 lib/patchfns $(BUILD_ROOT)$(LIB_DIR)/ + install -m 755 -s lib/backup-files $(BUILD_ROOT)$(LIB_DIR)/ + + install -d $(BUILD_ROOT)$(docdir)/$(PACKAGE) + install -m 644 README $(BUILD_ROOT)$(docdir)/$(PACKAGE)/ - install -d $(BUILD_ROOT)$(docdir)/patch-scripts - install -m 644 README needs-checking/docco.txt \ - $(BUILD_ROOT)$(docdir)/patch-scripts + install -d $(BUILD_ROOT)$(mandir)/man1 + install -m 644 $(MAN1) $(BUILD_ROOT)$(mandir)/man1/ clean distclean : - rm -f $(SCRIPTS_IN) $(LIB_SCRIPTS_IN:%=lib/%) README + rm -f $(DIRT) + +% : %.in + @echo "$< -> $@" + @sed -e "s:@LIB@:$(LIB_DIR):g" \ + -e "s:@QUILT@:$(QUILT_DIR):g" \ + $< > $@ + @chmod --reference=$< $@ |