-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
44 lines (34 loc) · 983 Bytes
/
Makefile
File metadata and controls
44 lines (34 loc) · 983 Bytes
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
# Makefile for installing buildenv.
VERSION = 0.1.3
BASEPKGS = C C++ Clib Cpyl
LOCALPKGPATH = ./packages
PACKAGES = $(patsubst %, $(LOCALPKGPATH)/%.tar.gz, $(BASEPKGS))
INFOS = $(PACKAGES:.tar.gz=.info)
BINPATH = /usr/local/bin
PKGPATH = /usr/local/etc/buildenv
$(LOCALPKGPATH)/%.tar.gz: %
mkdir -p $(LOCALPKGPATH)
tar --exclude=$<.info -czf $@ -C $< `ls -A $<`
$(LOCALPKGPATH)/%.info: %
cp -f $</$<.info $@
local: buildenv.out packages
packages: $(PACKAGES) $(INFOS)
buildenv.out: buildenv
sed -e 's/##VERSIONDEF/VERSION="$(VERSION)"/' \
-e 's@##PKGPATHDEF@PKGPATH="$(PKGPATH)"@' \
buildenv > buildenv.out
chmod 755 buildenv.out
install: local
mkdir -p $(BINPATH)
cp -f buildenv.out $(BINPATH)/buildenv
chmod 755 $(BINPATH)/buildenv
mkdir -p $(PKGPATH)
cp -rf -t $(PKGPATH) $(PACKAGES) $(INFOS)
uninstall:
rm -f $(BINPATH)/buildenv
rm -rf $(PKGPATH)
reinstall: uninstall install
clean:
rm -f buildenv.out
rm -f $(LOCALPKGPATH)/*
.PHONY: local packages