mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Automagically link in subdir lib.o files
It is a little ugly since I couldn't get $(wildcard) to expand *.o files so it just checks if there are any *.c files and then link in the lib.o based on that.
This commit is contained in:
parent
888726e3b8
commit
68de9e35d3
@ -56,6 +56,15 @@ endif
|
||||
>> .deps/$(*F).P; \
|
||||
rm .deps/$(*F).pp
|
||||
|
||||
ifdef SUBDIRS
|
||||
# Apparently wildcard won't expand *.o files so check if there are any *.c
|
||||
# files and use that to magically add the lib.o file of the subdirectory.
|
||||
subobjs := $(strip $(foreach subdir,$(SUBDIRS),$(if $(wildcard $(subdir)/*.c),$(subdir)/lib.o)))
|
||||
endif
|
||||
ifneq ($(subobjs),)
|
||||
OBJS += $(subobjs)
|
||||
endif
|
||||
|
||||
ifdef OBJS
|
||||
CLEAN += $(OBJS)
|
||||
|
||||
|
39
src/Makefile
39
src/Makefile
@ -3,32 +3,26 @@ include $(path_to_top)/Makefile.config
|
||||
|
||||
ifeq ($(CONFIG_BOOKMARKS),yes)
|
||||
bookmarksdir = bookmarks
|
||||
bookmarkslib = $(bookmarksdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_COOKIES),yes)
|
||||
cookiesdir = cookies
|
||||
cookieslib = $(cookiesdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_FORMHIST),yes)
|
||||
formhistdir = formhist
|
||||
formhistlib = $(formhistdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_GLOBHIST),yes)
|
||||
globhistdir = globhist
|
||||
globhistlib = $(globhistdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ECMASCRIPT),yes)
|
||||
ecmascriptdir = ecmascript
|
||||
ecmascriptlib = $(ecmascriptdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SCRIPTING),yes)
|
||||
scriptingdir = scripting
|
||||
scriptinglib = $(scriptingdir)/lib.o
|
||||
endif
|
||||
|
||||
SUBDIRS = \
|
||||
@ -55,49 +49,22 @@ SUBDIRS = \
|
||||
util \
|
||||
viewer
|
||||
|
||||
# Order of this is purely magic and random, so that ld doesn't fail for some
|
||||
# strange reason. Try to swap randomly when ld will start to complain about
|
||||
# mysteriously unresolved symbols.
|
||||
ELINKSLIBS = \
|
||||
main/lib.o \
|
||||
$(cookieslib) \
|
||||
viewer/lib.o \
|
||||
cache/lib.o \
|
||||
document/lib.o \
|
||||
intl/lib.o \
|
||||
session/lib.o \
|
||||
network/lib.o \
|
||||
terminal/lib.o \
|
||||
$(scriptinglib) \
|
||||
osdep/lib.o \
|
||||
protocol/lib.o \
|
||||
$(bookmarkslib) \
|
||||
$(formhistlib) \
|
||||
$(globhistlib) \
|
||||
$(ecmascriptlib) \
|
||||
config/lib.o \
|
||||
dialogs/lib.o \
|
||||
mime/lib.o \
|
||||
bfu/lib.o \
|
||||
encoding/lib.o \
|
||||
intl/lib.o \
|
||||
util/lib.o
|
||||
|
||||
# Get the GIT HEAD ID if possible
|
||||
ifdef CG_COMMIT_ID
|
||||
BUILD_ID=$(shell $(CG_COMMIT_ID) 2> /dev/null)
|
||||
endif
|
||||
INCLUDES += -DBUILD_ID="\"$(BUILD_ID)\""
|
||||
|
||||
OBJS = vernum.o $(ELINKSLIBS)
|
||||
OBJS = vernum.o
|
||||
vernum.o: FORCE
|
||||
FORCE:
|
||||
|
||||
all-local: elinks
|
||||
elinks: $(OBJS)
|
||||
elinks: lib.o
|
||||
$(call cmd,link)
|
||||
|
||||
install-local:
|
||||
$(INSTALL_PROGRAM) elinks $(DESTDIR)$(bindir)
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
||||
|
@ -3,11 +3,6 @@ include $(path_to_top)/Makefile.config
|
||||
|
||||
SUBDIRS = backend
|
||||
|
||||
ifeq ($(CONFIG_XBEL_BOOKMARKS),yes)
|
||||
xbelobj = xbel.o
|
||||
endif
|
||||
|
||||
BACK_OBJS = common.o default.o $(xbelobj)
|
||||
OBJS = bookmarks.o dialogs.o $(foreach obj,$(BACK_OBJS),backend/$(obj))
|
||||
OBJS = bookmarks.o dialogs.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -3,26 +3,15 @@ include $(path_to_top)/Makefile.config
|
||||
|
||||
ifeq ($(CONFIG_CSS),yes)
|
||||
cssdir = css
|
||||
cssobj = $(cssdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_DOM),yes)
|
||||
domdir = dom
|
||||
domobj = $(domdir)/lib.o
|
||||
|
||||
sgmldir = sgml
|
||||
sgmlobj = $(sgmldir)/lib.o
|
||||
endif
|
||||
|
||||
SUBDIRS = $(cssdir) $(domdir) html plain $(sgmldir)
|
||||
|
||||
SUB_OBJS = \
|
||||
$(cssobj) \
|
||||
$(domobj) \
|
||||
html/lib.o \
|
||||
plain/lib.o \
|
||||
$(sgmlobj)
|
||||
|
||||
OBJS = docdata.o document.o forms.o options.o refresh.o renderer.o $(SUB_OBJS)
|
||||
OBJS = docdata.o document.o forms.o options.o refresh.o renderer.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -3,6 +3,6 @@ include $(path_to_top)/Makefile.config
|
||||
|
||||
SUBDIRS = html
|
||||
|
||||
OBJS = sgml.o parser.o scanner.o html/lib.o
|
||||
OBJS = sgml.o parser.o scanner.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -4,7 +4,6 @@ INCLUDES += $(SPIDERMONKEY_CFLAGS)
|
||||
|
||||
SUBDIRS = spidermonkey
|
||||
|
||||
SM_OBJS = document.o form.o location.o navigator.o unibar.o window.o
|
||||
OBJS = ecmascript.o spidermonkey.o spidermonkey/lib.o
|
||||
OBJS = ecmascript.o spidermonkey.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -3,11 +3,10 @@ include $(path_to_top)/Makefile.config
|
||||
|
||||
ifeq ($(CONFIG_NLS),yes)
|
||||
gettextdir = gettext
|
||||
gettextobj = $(gettextdir)/lib.o
|
||||
endif
|
||||
|
||||
SUBDIRS = $(gettextdir)
|
||||
|
||||
OBJS = charsets.o $(gettextobj)
|
||||
OBJS = charsets.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -5,7 +5,6 @@ SUBDIRS = backend
|
||||
|
||||
OBJS = \
|
||||
dialogs.o \
|
||||
mime.o \
|
||||
backend/lib.o \
|
||||
mime.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -3,11 +3,10 @@ include $(path_to_top)/Makefile.config
|
||||
|
||||
ifeq ($(CONFIG_SSL),yes)
|
||||
ssldir = ssl
|
||||
sslobj = $(ssldir)/lib.o
|
||||
endif
|
||||
|
||||
SUBDIRS = $(ssldir)
|
||||
|
||||
OBJS = connection.o dns.o progress.o socket.o state.o $(sslobj)
|
||||
OBJS = connection.o dns.o progress.o socket.o state.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -4,27 +4,22 @@ INCLUDES += $(X_CFLAGS)
|
||||
|
||||
ifeq ($(CONFIG_BEOS),yes)
|
||||
beosdir = beos
|
||||
beosobj = $(beosdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_OS2),yes)
|
||||
os2dir = os2
|
||||
os2obj = $(os2dir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RISCOS),yes)
|
||||
riscosdir = riscos
|
||||
riscosobj = $(riscosdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_UNIX),yes)
|
||||
unixdir = unix
|
||||
unixobj = $(unixdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_WIN32),yes)
|
||||
win32dir = win32
|
||||
win32obj = $(win32dir)/lib.o
|
||||
endif
|
||||
|
||||
SUBDIRS = $(beosdir) $(os2dir) $(riscosdir) $(unixdir) $(win32dir)
|
||||
@ -35,11 +30,6 @@ OBJS = \
|
||||
osdep.o \
|
||||
signals.o \
|
||||
stub.o \
|
||||
sysname.o \
|
||||
$(beosobj) \
|
||||
$(os2obj) \
|
||||
$(riscosobj) \
|
||||
$(unixobj) \
|
||||
$(win32obj)
|
||||
sysname.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -1,49 +1,36 @@
|
||||
path_to_top=../..
|
||||
include $(path_to_top)/Makefile.config
|
||||
|
||||
authobj = auth/lib.o
|
||||
|
||||
ifeq ($(CONFIG_BITTORRENT),yes)
|
||||
bittorrentdir = bittorrent
|
||||
bittorrentobj = $(bittorrentdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_DATA),yes)
|
||||
dataobj = data.o
|
||||
endif
|
||||
|
||||
fileobj = file/lib.o
|
||||
|
||||
ifeq ($(CONFIG_FINGER),yes)
|
||||
fingerdir = finger
|
||||
fingerobj = $(fingerdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_FTP),yes)
|
||||
ftpdir = ftp
|
||||
ftpobj = $(ftpdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_GOPHER),yes)
|
||||
gopherdir = gopher
|
||||
gopherobj = $(gopherdir)/lib.o
|
||||
endif
|
||||
|
||||
httpobj = http/lib.o
|
||||
|
||||
ifeq ($(CONFIG_NNTP),yes)
|
||||
nntpdir = nntp
|
||||
nntpobj = $(nntpdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SMB),yes)
|
||||
smbdir = smb
|
||||
smbobj = $(smbdir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_URI_REWRITE),yes)
|
||||
rewritedir = rewrite
|
||||
rewriteobj = $(rewritedir)/lib.o
|
||||
endif
|
||||
|
||||
SUBDIRS = \
|
||||
@ -58,20 +45,6 @@ SUBDIRS = \
|
||||
$(rewritedir) \
|
||||
$(smbdir)
|
||||
|
||||
SUB_OBJS = \
|
||||
$(authobj) \
|
||||
$(bittorrentobj) \
|
||||
$(dataobj) \
|
||||
$(cgiobj) \
|
||||
$(fileobj) \
|
||||
$(fingerobj) \
|
||||
$(ftpobj) \
|
||||
$(gopherobj) \
|
||||
$(httpobj) \
|
||||
$(nntpobj) \
|
||||
$(rewriteobj) \
|
||||
$(smbobj)
|
||||
|
||||
OBJS = about.o date.o header.o protocol.o proxy.o uri.o user.o $(SUB_OBJS)
|
||||
OBJS = about.o $(dataobj) date.o header.o protocol.o proxy.o uri.o user.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -3,31 +3,26 @@ include $(path_to_top)/Makefile.config
|
||||
|
||||
ifeq ($(CONFIG_GUILE),yes)
|
||||
guiledir = guile
|
||||
guileobj = $(guiledir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_LUA),yes)
|
||||
luadir = lua
|
||||
luaobj = $(luadir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_PERL),yes)
|
||||
perldir = perl
|
||||
perlobj = $(perldir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_PYTHON),yes)
|
||||
pythondir = python
|
||||
pythonobj = $(pythondir)/lib.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_RUBY),yes)
|
||||
rubydir = ruby
|
||||
rubyobj = $(rubydir)/lib.o
|
||||
endif
|
||||
|
||||
SUBDIRS = $(guiledir) $(luadir) $(perldir) $(pythondir) $(rubydir)
|
||||
|
||||
OBJS = scripting.o $(guileobj) $(luaobj) $(perlobj) $(pythonobj) $(rubyobj)
|
||||
OBJS = scripting.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
@ -5,8 +5,6 @@ SUBDIRS = dump text
|
||||
|
||||
OBJS = \
|
||||
action.o \
|
||||
timer.o \
|
||||
dump/lib.o \
|
||||
text/lib.o
|
||||
timer.o
|
||||
|
||||
include $(path_to_top)/Makefile.lib
|
||||
|
Loading…
Reference in New Issue
Block a user