aboutsummaryrefslogblamecommitdiffstats
path: root/XMakefile
blob: 0affd498f408d2028a1daa900b662e5b11e0dc9d (plain) (tree)
1
2
3
4
5
6
7
8
9





                                                                               
                                                                 
                            
                                                                 

                            
                                                                              





                                  

                                





                                                                        
                                             















                                                       



                                                     






                           
                                                             

                         
                                                              

                         
                                                              

                                                   
                                                                   

                                                
                                                                

                                               
                                                               
 





                                                                   
        
                                                                                                                    










                                                                                         
                                                                                        








                                                                                              


                                       


                                              
                                                













                                                                                                                                                     
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\
	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\
	func.o cookie.o history.o backend.o $(KEYBIND_OBJ)
LSRCS=terms.c conv.c url.c ftp.c anchor.c mimehead.c parsetagx.c\
	tagtable.c istream.c
LOBJS=terms.o conv.o url.o ftp.o anchor.o mimehead.o parsetagx.o\
	tagtable.o istream.o
LLOBJS=version.o
ALIBOBJS=Str.o indep.o regex.o textlist.o parsetag.o myctype.o entity.o hash.o
ALIB=libindep.a
ALLOBJS=$(OBJS) $(LOBJS) $(LLOBJS)

TARGET=w3m$(EXT)
BOOKMARKER=w3mbookmark$(EXT)
HELPER=w3mhelperpanel$(EXT)
INFLATE=inflate$(EXT)
TARGETS=$(TARGET) $(EXT_TARGETS)

INCLUDES=-I.

DEFS=$(INCLUDES) # -DDEBUG
CFLAGS=$(MYCFLAGS) $(DEFS) 
LIBS=-L. -lindep $(GCLIB) $(MATHLIB) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES)
LIBS2=-L. -lindep $(GCLIB) $(LOCAL_LIBRARIES)
INSTALL=sh install.sh
INSTALL2=sh ../install.sh
AR=ar

all: $(TARGETS)

$(TARGET): $(ALLOBJS) $(ALIB) $(GCTARGET)
	$(CC) $(CFLAGS) -o $(TARGET) $(ALLOBJS) $(LIBS)

$(ALIB): $(ALIBOBJS)
	$(AR) rv $(ALIB) $(ALIBOBJS)
	$(RANLIB) $(ALIB)

$(OBJS): fm.h funcname1.h

tagtable.c: html.h tagtable.tab mktable$(EXT)
	./mktable$(EXT) 100 tagtable.tab > tagtable.c

# entity.h: html.h entity.tab mktable$(EXT)
#	./mktable 100 entity.tab > entity.h

func.o: funcname.c
keybind.o: funcname2.h
keybind_lynx.o: funcname2.h
parsetagx.o: html.c

funcname.c: funcname.tab
	sort funcname.tab | awk -f funcname0.awk > funcname.c

funcname1.h: funcname.tab
	sort funcname.tab | awk -f funcname1.awk > funcname1.h

funcname2.h: funcname.tab
	sort funcname.tab | awk -f funcname2.awk > funcname2.h

mktable$(EXT): mktable.o hash.o $(ALIB) $(GCTARGET)
	$(CC) $(CFLAGS) -o mktable$(EXT) mktable.o hash.o  $(LIBS2)

$(BOOKMARKER): w3mbookmark.o $(ALIB) $(GCTARGET)
	$(CC) $(CFLAGS) -o $(BOOKMARKER) w3mbookmark.o  $(LIBS2)

$(HELPER): w3mhelperpanel.o $(ALIB) $(GCTARGET)
	$(CC) $(CFLAGS) -o $(HELPER) w3mhelperpanel.o  $(LIBS2)

$(INFLATE): inflate.o
	$(CC) $(CFLAGS) $(Z_CFLAGS) -o $(INFLATE) inflate.o $(ZLIB)

inflate.o: inflate.c
	$(CC) $(CFLAGS) $(Z_CFLAGS) -c inflate.c

gc/gc.a:
	cd gc; make CC='$(CC)' CFLAGS='$(GCCFLAGS) $(GC_CFLAGS)' SPECIALCFLAGS='-I./\$(srcdir)/include $(GC_CFLAGS)'

install: $(TARGETS)
	-$(MKDIR) $(DESTDIR)$(BIN_DIR)
	-$(MKDIR) $(DESTDIR)$(HELP_DIR)
	-$(MKDIR) $(DESTDIR)$(LIB_DIR)
	$(INSTALL) -m 755 $(TARGET) $(DESTDIR)$(BIN_DIR)/$(TARGET)
	$(INSTALL) -m 644 w3mhelp-w3m_en.html $(DESTDIR)$(HELP_DIR)/w3mhelp-w3m_en.html
	$(INSTALL) -m 644 w3mhelp-w3m_ja.html $(DESTDIR)$(HELP_DIR)/w3mhelp-w3m_ja.html
	$(INSTALL) -m 644 w3mhelp-lynx_en.html $(DESTDIR)$(HELP_DIR)/w3mhelp-lynx_en.html
	$(INSTALL) -m 644 w3mhelp-lynx_ja.html $(DESTDIR)$(HELP_DIR)/w3mhelp-lynx_ja.html
	$(INSTALL) -m 644 $(HELP_FILE) $(DESTDIR)$(HELP_DIR)/w3mhelp.html
	for d in $(EXT_TARGETS); do $(INSTALL) -m 755 $$d $(DESTDIR)$(LIB_DIR)/$$d; done
	(cd scripts; for i in *.cgi; do $(INSTALL2) -m 755 $$i $(DESTDIR)$(LIB_DIR)/$$i; done)

uninstall:
	-$(RM) $(BIN_DIR)/$(TARGET)
	-$(RM) $(HELP_DIR)/w3mhelp-lynx_en.html
	-$(RM) $(HELP_DIR)/w3mhelp-lynx_ja.html
	-$(RM) $(HELP_DIR)/w3mhelp-w3m_en.html 
	-$(RM) $(HELP_DIR)/w3mhelp-w3m_ja.html 
	-$(RM) $(HELP_DIR)/w3mhelp.html
	-$(RM) $(LIB_DIR)/$(BOOKMARKER)
	-$(RM) $(LIB_DIR)/$(HELPER)
	-$(RM) $(LIB_DIR)/$(INFLATE)

clean: sweep
	rm -f *.o *.a $(TARGETS) mktable$(EXT)
	rm -f funcname.c funcname1.h funcname2.h

sweep:
	-rm -f core *~ *.bak *.orig *.rej

depend: 
	makedepend $(CFLAGS) *.c

dist:
	cd ..; mv w3m w3m-$(VERSION); tar cvfz w3m-$(VERSION).tar.gz w3m-$(VERSION); mv w3m-$(VERSION) w3m

bindist:
	cd ..; mv w3m w3m-$(VERSION); tar cvfz w3m-$(VERSION)-$(MODEL).tar.gz w3m-$(VERSION)/{w3m*,doc*,Bonus*,README,scripts}; mv w3m-$(VERSION) w3m

# DO NOT DELETE