-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
96 lines (72 loc) · 1.85 KB
/
Makefile
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
##
## Main GNU makefile for midiroll library.
##
## Programmer: Craig Stuart Sapp <craig@ccrma.stanford.edu>
## Creation Date: Wed Apr 11 16:33:22 PDT 2018
## Last Modified: Wed Apr 11 16:33:25 PDT 2018
## Filename: midifile/Makefile
## Website: http://github.com/craigsapp/midiroll
## Syntax: GNU Makefile
## Description: This Makefile can create the Midifile library and/or
## example programs which use the Midifile library.
##
## To run this makefile, type:
## make library
## then:
## make programs
## Or type:
## make
## to compile both the library and the programs at the same time.
##
##############################
##
## Targets:
##
# targets which don't actually refer to files
.PHONY : all info library examples programs bin options clean lib
all: info library programs lib
info:
@echo ""
@echo This makefile will compile the Midifile library and/or
@echo the midiroll programs. You may have to make the library
@echo first if compiling the programs. Type one of the following:
@echo " make library"
@echo or
@echo " make programs"
@echo ""
@echo To compile a specific program called xxx, type:
@echo " make xxx"
@echo ""
@echo Typing \"make\" alone will compile both the library and all programs.
@echo ""
lib: library
library:
$(MAKE) -f Makefile.library
clean:
$(MAKE) -f Makefile.library clean
-rm -rf lib
superclean: clean
-rm -rf bin
update:
(cd external; ./.download)
bin: programs
examples: programs
programs:
$(MAKE) -f Makefile.programs
install:
sudo cp bin/* /usr/local/bin
##############################
##
## Default target: compile a particular program:
##
%:
@-mkdir -p bin
@echo compiling file $@
$(MAKE) -f Makefile.programs $@
##############################
##
## Maintenance functions
##
update: midifile-update
midifile-update:
(cd external && ./.download)