all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob 7b2db38dbfa9dad676b03e9887feb4b4e228b0d8 2932 bytes (raw)
name: lisp/Makefile 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
 
.SUFFIXES:	# we don't need default suffix rules
ifeq ($(MAKELEVEL), 0)
  $(error This make needs to be started as a sub-make from the toplevel directory.)
endif

LISPV 	:= org-version.el
LISPI 	:= org-loaddefs.el
LISPA 	:= $(LISPV) $(LISPI)
LISPB 	:= $(LISPA:%el=%elc) org-install.elc
LISPF 	:= $(filter-out $(LISPA),$(sort $(wildcard *.el)))
LISPC 	:= $(filter-out $(LISPB) $(LISPN:%el=%elc),$(LISPF:%el=%elc))
LISPN 	:= $(filter-out $(LISPB) $(LISPN:%el=%eln),$(LISPF:%el=%eln))
_ORGCM_ := dirall single native source slint1 slint2
# This is where Emacs stores the .eln files
ELNDIR  := $(shell $(EMACS) --batch --eval '(when (native-comp-available-p) (princ (car native-comp-eln-load-path)))')

-include local.mk

.PHONY:	all compile compile-dirty \
	$(_ORGCM_) $(_ORGCM_:%=compile-%) \
	autoloads \
	install clean cleanauto cleanall cleanelc cleaneln clean-install

# do not clean here, done in toplevel make
all compile compile-dirty::	 | autoloads
ifeq ($(filter-out $(_ORGCM_),$(ORGCM)),)
	$(MAKE) compile-$(ORGCM)
else
	$(error ORGCM has illegal value $(ORGCM) (valid: $(_ORGCM_)))
endif

compile-dirall:	dirall
compile-single: $(LISPC) | single
compile-native: $(LISPN) | native
compile-source:	| source dirall
compile-slint1:	| dirall slint1
compile-slint2:	| source dirall slint1

# internal
dirall:
	@$(info ==================== $@ ====================)
	@$(ELCDIR)
single:
	@$(info ==================== $@ ====================)
native:
	@$(info ==================== $@ ====================)
source: cleanelc
	@$(info ==================== $@ ====================)
	@$(foreach elc,$(LISPC),$(MAKE) $(elc) && $(RM) $(elc);)
slint1:
	@$(info ==================== $@ ====================)
	@$(foreach elc,$(LISPC),$(RM) $(elc); $(MAKE) $(elc);)

%.elc:	%.el
	@$(info Compiling single $(abspath $<)...)
	-@$(ELC) $<

ifeq (,$(ELNDIR))
%.eln: %.el
	@$(info Native compilation not enabled!)
	@false
else
%.eln: %.el
	@$(info Native compiling single $(abspath $<)...)
	-@$(ELN) $<
endif

autoloads:	cleanauto $(LISPI) $(LISPV)

$(LISPV):	$(LISPF)
	@echo "org-version: $(ORGVERSION) ($(GITVERSION))"
	@$(RM) $(@)
	@$(MAKE_ORG_VERSION)

$(LISPI):	$(LISPV) $(LISPF)
	@echo "org-loaddefs: $(ORGVERSION) ($(GITVERSION))"
	@$(RM) $(@)
	@$(MAKE_ORG_INSTALL)

install:	 compile $(LISPF)
	if [ ! -d $(DESTDIR)$(lispdir) ] ; then \
	  $(MKDIR) $(DESTDIR)$(lispdir) ; \
	fi ;
	$(CP) $(LISPC) $(LISPF) $(LISPA) $(DESTDIR)$(lispdir)

cleanauto clean cleanall::
	$(RM) $(LISPA) $(LISPB)
clean cleanall cleanelc::
	$(RM) *.elc

ifeq (,$(ELNDIR))
cleaneln:
	@$(info Native compilation not enabled. Nothing to do.)
else
cleaneln:
	@$(foreach elnf,$(patsubst %.eln, %-*.eln, $(LISPN)), \
	  $(FIND) $(ELNDIR) -name $(elnf) -exec $(RM) -v {} \; ;)
endif

clean-install:
	if [ -d $(DESTDIR)$(lispdir) ] ; then \
	  $(RM) $(DESTDIR)$(lispdir)/org*.el* $(DESTDIR)$(lispdir)/ob*.el* $(DESTDIR)$(lispdir)/ol*.el* $(DESTDIR)$(lispdir)/ox*.el* ; \
	fi ;

debug log:

solving ff49dccff ...
found ff49dccff in https://yhetil.org/emacs/CAO48Bk9GfXGoEawZq4OWurrjh3tZ5XGXpwe6078pa_Z2a=2whA@mail.gmail.com/
found c570d9cfa in https://git.savannah.gnu.org/cgit/emacs/org-mode.git
preparing index
index prepared:
100644 c570d9cfa70afad0d4d25cdba21dcc1a3839e2ea	lisp/Makefile

applying [1/1] https://yhetil.org/emacs/CAO48Bk9GfXGoEawZq4OWurrjh3tZ5XGXpwe6078pa_Z2a=2whA@mail.gmail.com/
diff --git a/lisp/Makefile b/lisp/Makefile
index c570d9cfa..ff49dccff 100644

Checking patch lisp/Makefile...
Applied patch lisp/Makefile cleanly.

index at:
100644 7b2db38dbfa9dad676b03e9887feb4b4e228b0d8	lisp/Makefile

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.