emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
blob 0186b4246c49d8f430a06cf6f715040489ef3f75 2718 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
 
.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 '(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) $<

%.eln: %.el
	@$(info Native compiling single $(abspath $<)...)
	-@$(ELN) $<

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

cleaneln::
	@$(foreach elnf,$(patsubst %.eln, %-*.eln, $(LISPN)), \
	  $(FIND) $(ELNDIR) -name $(elnf) -exec $(RM) -v {} \; ;)

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 0186b4246 ...
found 0186b4246 in https://yhetil.org/orgmode/CAO48Bk_A97YphZ927qRW-qk_SvgwEAMrPDMnxXHSb3HE6sJjYw@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/orgmode/CAO48Bk_A97YphZ927qRW-qk_SvgwEAMrPDMnxXHSb3HE6sJjYw@mail.gmail.com/
diff --git a/lisp/Makefile b/lisp/Makefile
index c570d9cfa..0186b4246 100644

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

index at:
100644 0186b4246c49d8f430a06cf6f715040489ef3f75	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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).