-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathMakefile
More file actions
88 lines (75 loc) · 2.04 KB
/
Copy pathMakefile
File metadata and controls
88 lines (75 loc) · 2.04 KB
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
DESTDIR ?= /usr/local/share/java
VERSION = 3.0.1
all: build docs deb jar
.PHONY: build
build: Makefile src/edu/harvard/CS50.java
mkdir -p build/lib
javac -d build/lib src/edu/harvard/CS50.java
cp src/edu/harvard/CS50.java build/lib/edu/harvard
.PHONY: jar
jar: build
mkdir -p build/jar
jar cvf build/jar/cs50.jar -C build/lib .
.PHONY: clean
clean:
rm -rf build
.PHONY: deb
deb: jar
rm -rf build/deb
mkdir -p build/deb/libcs50-java/usr/share/java
cp -r build/jar/* build/deb/libcs50-java/usr/share/java
fpm \
--category java \
--conflicts lib50-java \
--chdir build/deb/libcs50-java \
--deb-priority optional \
--description "CS50 library for Java" \
--input-type dir \
--license "MIT" \
--maintainer "CS50 <sysadmins@cs50.harvard.edu>" \
--name libcs50-java \
--output-type deb \
--package build/deb \
--provides lib50-java \
--provides libcs50-java \
--replaces lib50-java \
--replaces libcs50-java \
--url https://github.com/cs50/libcs50-java \
--vendor CS50 \
--version $(VERSION) \
.
rm -rf build/deb/libcs50-java
.PHONY: rpm
rpm: jar
rm -rf build/rpm
mkdir -p build/rpm/libcs50-java/usr/share/java
cp -r build/jar/* build/rpm/libcs50-java/usr/share/java
fpm \
--category java \
--conflicts lib50-java \
--chdir build/rpm/libcs50-java \
--description "CS50 library for Java" \
--input-type dir \
--license "MIT" \
--maintainer "CS50 <sysadmins@cs50.harvard.edu>" \
--name libcs50-java \
--output-type rpm \
--package build/rpm \
--provides libcs50-java \
--url https://github.com/cs50/libcs50-java \
--vendor CS50 \
--version $(VERSION) \
.
rm -rf build/rpm/libcs50-java
.PHONY: docs
docs:
rm -rf docs
javadoc -d docs -linkoffline https://docs.oracle.com/javase/8/docs/api/ \
https://docs.oracle.com/javase/8/docs/api/ -sourcepath src edu.harvard
.PHONY: install
install: build
mkdir -p $(DESTDIR)
cp -r build/jar/cs50.jar $(DESTDIR)
.PHONY: version
version:
@echo $(VERSION)