File: Makefile

package info (click to toggle)
mol 0.9.70-17
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 6,436 kB
  • ctags: 11,008
  • sloc: ansic: 60,495; asm: 3,306; makefile: 716; yacc: 706; sh: 546; lex: 501; cpp: 370; perl: 228; pascal: 18
file content (104 lines) | stat: -rw-r--r-- 2,587 bytes parent folder | download
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
104

top-all:	
include		Makefile.top

#####################################################################

configure: configure.in
	./autogen.sh

AUTOCONFFILE	:= config/kconfig/.autoinclude/autoconf-$(ARCH).h
CONFIGURED	:= $(shell test -f .config && test -f $(AUTOCONFFILE) \
			> /dev/null 2>&1 && echo y )

AUTOFILES	= config/Makefile.defs src/shared/config.h

top-all:	configure $(if $(CONFIGURED),all,bootstrap)

top-all .config:
	@true
all-local:	$(ARCHINCLUDES) $(AUTOFILES)

.PHONY: config
config:
	@$(MAKE) -s -C config $@
%config:
	@$(MAKE) -s -C config $@
bootstrap:
	@$(MAKE) -s -C config menuconfig ; \
	test -f .config && $(MAKE) all

$(AUTOFILES) : % : %.in configure.in
	@rm -f $@
	@test -x config.status && ./config.status && exit 0 ; \
	test -x ./configure && ./configure && exit 0 ; \
	./autogen.sh && ./configure
	@for x in $(AUTOFILES) ; do test -f $$x && chmod -w $$x ; done ; true


AWKTEXT	:= ' { print "\#define MOL_MAJOR_VERSION " $$1 ; \
		print "\#define MOL_MINOR_VERSION " $$2 ; \
		print "\#define MOL_PATCHLEVEL " $$3 }' 

$(ARCHINCLUDES): configure.in Makefile Makefile.top
	@rm -rf $@
	@install -d $@
	@ln -s ../$(AUTOCONFFILE) $@/autoconf.h
	@ln -s ../src/include/$(ARCH) $(ARCHINCLUDES)/asm
	@ln -s ../src/include/$(CPU) $(ARCHINCLUDES)/cpu
	@{ DATE="$(shell echo `date +'%b %e %Y %H:%M'`)" ; \
	   echo "#define MOL_BUILD_DATE \"$$DATE\"" ; \
	   echo "#define MOL_VERSION_STR \"$(VERSION)\"" ; \
	   echo "#define MOL_RELEASE \"$(RELEASENAME)\"" ; \
	   echo $(VERSION) | awk -F . -- $(AWKTEXT) ; \
	   echo = "Building mol-$(VERSION)$(EXTRA_VERSION) [$$DATE]" 1>&2 ; \
	} 2>&1 > $(ARCHINCLUDES)/molversion.h



#####################################################################

libimport:
	scripts/libimport import
libpopulate:
	scripts/libimport populate
libimport_dist:
	scripts/libimport import_dist
libdelete:
	scripts/libimport delete
libexport: clean
	scripts/libimport export
libimport_clean:
	$(RM) -rf libimport

.PHONY: libimport

#####################################################################

clean-local:
	@rm -f *.core
	@rm -rf $(ARCHINCLUDES)
	@rm -rf mollib/bin

distclean-local:
	@rm -f $(AUTOFILES) config.* .config
	@$(MAKE) -C config distclean

mrproper: distclean
	@rm -f ./configure

maintainerclean-local:
	@rm -f ./configure
	@$(MAKE) -C config maintainerclean

#####################################################################

SUBDIRS		= . scripts src
MAKE		+= -s

#####################################################################

#ifeq ($(CONFIGURED),y)
include 	Rules.make
#endif
include		Makefile.dist