blob: 52a0aaef267700e1286349163694b843e941c174 (
plain) (
tree)
|
|
#
# Makefile
# @configure_input@
#
@SET_MAKE@
SHELL=@SHELL@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
DOMAIN = $(PACKAGE)
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
bindir = @bindir@
datadir = @datadir@
localedir = $(datadir)/locale
libdir = @libdir@
includedir = @includedir@
infodir = @infodir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
top_srcdir = @top_srcdir@
top_builddir = .
VPATH = $(top_srcdir):.
CGIBIN_DIR = $(libexecdir)/$(PACKAGE)/cgi-bin
AUXBIN_DIR = $(libexecdir)/$(PACKAGE)
HELP_DIR = @HELP_DIR@
RC_DIR = @RC_DIR@
ETC_DIR = $(sysconfdir)
CONF_DIR = $(sysconfdir)/$(PACKAGE)
CFLAGS = $(OPTS) -I. -I$(top_srcdir) @CFLAGS@ $(CPPFLAGS) $(DEFS)
WCCFLAGS = @WCCFLAGS@
CPPFLAGS = @CPPFLAGS@
DEFS = @DEFS@ -DAUXBIN_DIR=\"$(AUXBIN_DIR)\" \
-DCGIBIN_DIR=\"$(CGIBIN_DIR)\" -DHELP_DIR=\"$(HELP_DIR)\" \
-DETC_DIR=\"$(ETC_DIR)\" -DCONF_DIR=\"$(CONF_DIR)\" \
-DRC_DIR=\"$(RC_DIR)\" \
-DLOCALEDIR=\"$(localedir)\"
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
GC_LIBS = @LIBGC@
EXT_LIBS = -L. -lindep @LIBINTL@ $(GC_LIBS)
W3M_LIBS = @W3M_LIBS@
WCTARGET = @WCTARGET@
NLSTARGET = @NLSTARGET@
MAKE_ARGS = PERL='$(PERL)' MKDIR='$(MKDIR)' \
BIN_DIR='$(bindir)' AUXBIN_DIR='$(AUXBIN_DIR)' \
CGIBIN_DIR='$(CGIBIN_DIR)' \
HELP_DIR='$(HELP_DIR)' MAN_DIR='$(mandir)' ETC_DIR='$(ETC_DIR)' \
CONF_DIR='$(CONF_DIR)' \
RC_DIR='$(RC_DIR)' DESTDIR='$(DESTDIR)' KEYBIND_SRC='$(KEYBIND_SRC)'
IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@ @IMGWINCFLAGS@
IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@ @IMGWINLDFLAGS@
CC0 = @CC@
CXX = @CXX@
IMGLINK = @IMGLINK@
CC = @POSUBST@ $(CC0)
CPP = @CPP@
RANLIB=@RANLIB@
AWK = @AWK@
PERL = @PERL@
MKDIR=mkdir -p
MV=mv
RM=rm
AR=ar
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_SCRIPT=@INSTALL_SCRIPT@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_W3MIMGDISPLAY=@INSTALL_W3MIMGDISPLAY@
HELP_FILE = @HELP_FILE@
KEYBIND_SRC = @KEYMAP_FILE@.c
KEYBIND_OBJ = @KEYMAP_FILE@.o
VERSION=@CURRENT_VERSION@
MODEL=@W3M_TARGET@-@W3M_LANG@
SRCS=main.c file.c buffer.c display.c etc.c search.c linein.c table.c local.c \
form.c map.c frame.c rc.c menu.c mailcap.c image.c \
symbol.c entity.c terms.c url.c ftp.c mimehead.c regex.c news.c \
func.c cookie.c history.c backend.c $(KEYBIND_SRC)
OBJS=main.o file.o buffer.o display.o etc.o search.o linein.o table.o local.o\
form.o map.o frame.o rc.o menu.o mailcap.o image.o \
symbol.o entity.o terms.o url.o ftp.o mimehead.o regex.o news.o \
func.o cookie.o history.o backend.o $(KEYBIND_OBJ)
LSRCS=anchor.c parsetagx.c tagtable.c istream.c
LOBJS=anchor.o parsetagx.o tagtable.o istream.o
LLOBJS=version.o
ALIBOBJS=Str.o indep.o regex.o textlist.o parsetag.o myctype.o hash.o
ALIB=libindep.a
ALLOBJS=$(OBJS) $(LOBJS) $(LLOBJS)
EXT=@EXEEXT@
TARGET=$(PACKAGE)$(EXT)
BOOKMARKER=w3mbookmark$(EXT)
HELPER=w3mhelperpanel$(EXT)
INFLATE=inflate$(EXT)
IMGDISPLAY=w3mimgdisplay$(EXT)
MAN1_TARGET=$(PACKAGE).1
MAN1=$(top_srcdir)/doc/w3m.1
MAN1_JA=$(top_srcdir)/doc-jp/w3m.1
LIB_TARGETS=$(BOOKMARKER) $(HELPER)
AUXBIN_TARGETS=@AUXBIN_TARGETS@
TARGETS=$(TARGET) $(LIB_TARGETS) $(AUXBIN_TARGETS)
HELP_TARGET=w3mhelp.html
HELP_ALLFILES=w3mhelp-w3m_en.html w3mhelp-w3m_ja.html \
w3mhelp-lynx_en.html w3mhelp-lynx_ja.html
DEFUNS=$(top_srcdir)/main.c $(top_srcdir)/menu.c
SCRIPTSUBDIRS= scripts
SUBDIRS = $(SCRIPTSUBDIRS) w3mimg libwc po
.PHONY: $(SUBDIRS)
all: $(TARGETS) all-scripts $(NLSTARGET)
$(TARGET): $(ALLOBJS) $(ALIB) $(WCTARGET)
$(CC) $(CFLAGS) -o $(TARGET) $(ALLOBJS) $(LDFLAGS) $(LIBS) $(EXT_LIBS) $(W3M_LIBS)
$(ALIB): $(ALIBOBJS)
$(AR) rv $(ALIB) $(ALIBOBJS)
$(RANLIB) $(ALIB)
$(OBJS) $(LOBJS): fm.h funcname1.h
tagtable.c: tagtable.tab mktable$(EXT) html.h
./mktable$(EXT) 100 $(srcdir)/tagtable.tab > $@
entity.h: entity.tab mktable$(EXT)
echo '/* $$I''d$$ */' > $@
./mktable$(EXT) 100 $(srcdir)/entity.tab >> $@
indep.o: indep.c fm.h funcname1.h entity.h
func.o: funcname.c functable.c funcname1.h
keybind.o: funcname2.h
keybind_lynx.o: funcname2.h
parsetagx.o: html.c
funcname.tab: $(DEFUNS)
(echo '#define DEFUN(x,y,z) x y';\
sed -ne '/^DEFUN/{p;n;/^[ ]/p;}' $(DEFUNS)) | $(CPP) - | \
awk '$$1 ~ /^[_A-Za-z]/ { \
for (i=2;i<=NF;i++) { print $$i, $$1} \
}' > $@.tmp
@if cmp -s $@.tmp $@; then \
echo "$@ unchanged"; \
rm -f $@.tmp; \
else \
echo "$@ updated"; \
mv $@.tmp $@; \
fi
funcname.c: funcname.tab
sort funcname.tab | $(AWK) -f $(top_srcdir)/funcname0.awk > $@
funcname1.h: funcname.tab
sort funcname.tab | $(AWK) -f $(top_srcdir)/funcname1.awk > $@
funcname2.h: funcname.tab
sort funcname.tab | $(AWK) -f $(top_srcdir)/funcname2.awk > $@
functable.c: funcname.tab mktable$(EXT)
sort funcname.tab | $(AWK) -f $(top_srcdir)/functable.awk > functable.tab
./mktable$(EXT) 100 functable.tab > $@
-rm -f functable.tab
mktable$(EXT): mktable.o dummy.o Str.o hash.o myctype.o
$(CC) $(CFLAGS) -o mktable mktable.o dummy.o Str.o hash.o myctype.o $(LDFLAGS) $(LIBS) $(GC_LIBS)
$(BOOKMARKER): w3mbookmark.o dummy.o $(ALIB)
$(CC) $(CFLAGS) -o $(BOOKMARKER) w3mbookmark.o dummy.o $(LDFLAGS) $(LIBS) $(EXT_LIBS)
$(HELPER): w3mhelperpanel.o dummy.o $(ALIB)
$(CC) $(CFLAGS) -o $(HELPER) w3mhelperpanel.o dummy.o $(LDFLAGS) $(LIBS) $(EXT_LIBS)
$(INFLATE): inflate.o $(ALIB)
$(CC) $(CFLAGS) -o $(INFLATE) inflate.o $(LDFLAGS) $(LIBS) -lz
inflate.o: inflate.c
$(CC) $(CFLAGS) -o $@ -c $(srcdir)/inflate.c
libwc/libwc.a: libwc
libwc:
(cd libwc && $(MAKE) CC='$(CC0)' OPTS='$(OPTS)')
dummy.o: entity.c
$(CC) $(CFLAGS) -DDUMMY -c -o $@ $?
$(IMGDISPLAY): w3mimgdisplay.o $(ALIB) w3mimg/w3mimg.a
$(IMGLINK) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) -lX11 $(IMGLDFLAGS)
w3mimgdisplay.o: w3mimgdisplay.c w3mimg/w3mimg.h
$(CC) $(CFLAGS) $(IMGCFLAGS) -o $@ -c $(srcdir)/w3mimgdisplay.c
w3mimg/w3mimg.a: w3mimg
w3mimg:
(cd w3mimg && $(MAKE) CC="$(CC0)" OPTS="$(OPTS)")
po:
(cd $@ && $(MAKE))
install: install-core install-scripts install-po
install-core: $(TARGETS)
-$(MKDIR) $(DESTDIR)$(bindir)
-$(MKDIR) $(DESTDIR)$(AUXBIN_DIR)
-$(MKDIR) $(DESTDIR)$(CGIBIN_DIR)
-$(MKDIR) $(DESTDIR)$(HELP_DIR)
-$(MKDIR) $(DESTDIR)$(mandir)/man1
-$(MKDIR) $(DESTDIR)$(mandir)/ja/man1
$(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(bindir)/$(TARGET)
$(INSTALL_DATA) $(HELP_FILE) $(DESTDIR)$(HELP_DIR)/$(HELP_TARGET)
$(INSTALL_DATA) $(MAN1) $(DESTDIR)$(mandir)/man1/$(MAN1_TARGET)
$(INSTALL_DATA) $(MAN1_JA) $(DESTDIR)$(mandir)/ja/man1/$(MAN1_TARGET)
targets="$(AUXBIN_TARGETS)"; for file in $$targets; \
do \
case $$file in \
$(IMGDISPLAY)) $(INSTALL_W3MIMGDISPLAY) $$file \
$(DESTDIR)$(AUXBIN_DIR)/$$file;; \
*) $(INSTALL_PROGRAM) $$file $(DESTDIR)$(AUXBIN_DIR)/$$file;; \
esac; \
done
for file in $(LIB_TARGETS); \
do \
$(INSTALL_PROGRAM) $$file $(DESTDIR)$(CGIBIN_DIR)/$$file; \
done
install-helpfile:
-$(MKDIR) $(DESTDIR)$(HELP_DIR)
for file in $(HELP_ALLFILES); \
do \
$(INSTALL_DATA) $$file $(DESTDIR)$(HELP_DIR)/$$file; \
done
install-po:
NLSTARGET="$(NLSTARGET)"; for subdir in $$NLSTARGET; \
do \
(cd $$subdir && $(MAKE) install); \
done
all-scripts:
for dir in $(SCRIPTSUBDIRS); \
do \
(cd $$dir && $(MAKE) $(MAKE_ARGS)); \
done
install-scripts: all-scripts
topdir=`pwd`; \
for dir in $(SCRIPTSUBDIRS); \
do \
(cd $$dir && $(MAKE) $(MAKE_ARGS) install); \
done
uninstall:
-$(RM) $(bindir)/$(TARGET)
-for file in $(AUXBIN_TARGETS); \
do \
$(RM) -f $(AUXBIN_DIR)/$$file; \
done
-for file in $(LIB_TARGETS); \
do \
$(RM) -f $(CGIBIN_DIR)/$$file; \
done
-for file in $(HELP_ALLFILES); \
do \
$(RM) -f $(HELP_DIR)/$$file; \
done
-$(RM) -f $(HELP_DIR)/$(HELP_TARGET)
-$(RM) -f $(mandir)/man1/$(MAN1_TARGET)
-$(RM) -f $(mandir)/ja/man1/$(MAN1_TARGET)
-for dir in $(SCRIPTSUBDIRS); \
do \
(cd $$dir && $(MAKE) $(MAKE_ARGS) uninstall); \
done
clean: sweep
-$(RM) -f *.o *.a $(TARGETS) mktable$(EXT)
-$(RM) -f funcname.tab
-$(RM) -f entity.h
-$(RM) -f funcname.c funcname1.h funcname2.h tagtable.c functable.c
-for dir in w3mimg libwc; \
do \
(cd $$dir && $(MAKE) clean RM="$(RM)"); \
done
-for dir in $(SCRIPTSUBDIRS); \
do \
(cd $$dir && $(MAKE) clean); \
done
distclean: clean
for subdir in po scripts w3mimg libwc; \
do \
(cd $$subdir && $(MAKE) distclean); \
done
-$(RM) -f config.cache config.log config.status
-$(RM) -f w3mhelp-w3m_en.html w3mhelp-w3m_ja.html
-$(RM) -f w3mhelp-lynx_en.html w3mhelp-lynx_ja.html
-$(RM) -f version.c
-$(RM) -f posubst
-$(RM) -f config.h Makefile
-$(RM) -f *core
sweep:
-$(RM) -f core *~ *.bak *.orig *.rej
depend:
makedepend $(CFLAGS) *.c
dist:
cd ..; tar cvfz w3m-$(VERSION).tar.gz w3m
bindist:
cd ..; tar cvfz w3m-$(VERSION)-$(MODEL).tar.gz w3m/w3m* w3m/doc* w3m/Bonus* w3m/README w3m/scripts
|