# See COPYING file for copyright and license details.
include config.mk
NAME = getxbook
SRC = getgbook.c getabook.c getbnbook.c
LIB = util.o
GUI = getxbookgui.tcl
DOC = README COPYING INSTALL LEGAL
EXTRAS = extras/mkpdf.sh extras/mkocrpdf.sh extras/mkdjvu.sh extras/mkocrtxt.sh extras/mkocrdjvu.sh
BIN = $(SRC:.c=)
MAN = $(SRC:.c=.1)
OBJ = $(SRC:.c=.o) $(LIB)
all: $(BIN)
$(OBJ): util.h config.mk
$(BIN): util.a
.o:
@echo LD $@
@$(LD) -o $@ $< util.a $(LDFLAGS)
.c.o:
@echo CC $<
@$(CC) -c $(CFLAGS) $<
util.a: $(LIB)
@echo AR $@
@$(AR) -r -c $@ $(LIB)
@ranlib $@
install: all
mkdir -p $(DESTDIR)$(PREFIX)/bin
cp -f $(BIN) $(GUI) $(DESTDIR)$(PREFIX)/bin
mkdir -p $(DESTDIR)$(MANPREFIX)/man1
for f in $(MAN); do sed "s/VERSION/$(VERSION)/g" < $$f > $(DESTDIR)$(MANPREFIX)/man1/$$f; done
uninstall:
cd $(DESTDIR)$(PREFIX)/bin && rm -f $(BIN) $(GUI)
cd $(DESTDIR)$(MANPREFIX)/man1 && rm -f $(MAN)
clean:
rm -f -- $(BIN) $(OBJ) util.a index.html
dist:
mkdir -p $(NAME)-$(VERSION)
cp $(SRC) $(GUI) $(DOC) $(MAN) util.h util.c Makefile config.mk $(NAME)-$(VERSION)
mkdir -p $(NAME)-$(VERSION)/extras
cp $(EXTRAS) $(NAME)-$(VERSION)/extras
tar c $(NAME)-$(VERSION) | bzip2 -c > $(NAME)-$(VERSION).tar.bz2
gpg -b < $(NAME)-$(VERSION).tar.bz2 > $(NAME)-$(VERSION).tar.bz2.sig
rm -rf $(NAME)-$(VERSION)
echo $(NAME)-$(VERSION).tar.bz2 $(NAME)-$(VERSION).tar.bz2.sig
# quick and dirty; a real debian dev should create a real .deb
dist-deb:
mkdir -p deb
cp config.mk config.mk.orig
sed 's/^PREFIX =.*/PREFIX = deb\/usr/g' < config.mk.orig > config.mk
make install
mv config.mk.orig config.mk
cp $(EXTRAS) deb/usr/bin/
chmod +x deb/usr/bin/*
mkdir -p deb/usr/share/doc/$(NAME)
cp $(DOC) deb/usr/share/doc/$(NAME)
mv deb/usr/share/doc/$(NAME)/COPYING deb/usr/share/doc/$(NAME)/copyright
mkdir -p deb/DEBIAN
printf "Package: %s\nVersion: %s-1\nArchitecture: i386\nDepends: libc6, tcl, tk\n" "$(NAME)" "$(VERSION)" > deb/DEBIAN/control
fakeroot dpkg-deb --build deb
mv deb.deb $(NAME)_$(VERSION)-1_i386.deb
rm -rf deb
echo $(NAME)_$(VERSION)-1_i386.deb
getxbookgui.exe: getxbookgui.tcl
@echo STARPACK $@
@sdx qwrap getxbookgui.tcl
@sdx unwrap getxbookgui.kit
@sdx wrap $@ -runtime $(W32TCLKIT)
@rm -r getxbookgui.kit getxbookgui.vfs
getxbookgui: getxbookgui.tcl
@echo STARPACK $@
@sdx qwrap getxbookgui.tcl
@sdx unwrap getxbookgui.kit
@sdx wrap $@ -runtime $(MACTCLKIT)
@rm -r getxbookgui.kit getxbookgui.vfs
# needs to be run from a mingw setup
dist-win: $(BIN) $(GUI:.tcl=.exe)
mkdir -p $(NAME)-win
cp $(OBJ:.o=.exe) $(GUI:.tcl=.exe) $(NAME)-win
for f in LEGAL README COPYING; do \
sed 's/$$/\r/g' < $$f > $(NAME)-win/$$f.txt; done
zip -j $(NAME)-$(VERSION)-win.zip $(NAME)-win/*
gpg -b < $(NAME)-$(VERSION)-win.zip > $(NAME)-$(VERSION)-win.zip.sig
rm -rf $(NAME)-win
echo $(NAME)-$(VERSION)-win.zip $(NAME)-$(VERSION)-win.zip.sig
# needs to be run from a mac
dist-mac: $(BIN) $(GUI:.tcl=)
mkdir -p $(NAME)-$(VERSION)/$(NAME).app/Contents/MacOS
mkdir -p $(NAME)-$(VERSION)/$(NAME).app/Contents/Resources
cp $(BIN) $(GUI:.tcl=) $(NAME)-$(VERSION)/$(NAME).app/Contents/MacOS/
for f in $(DOC); do cp $$f $(NAME)-$(VERSION)/$$f.txt; done
echo '