85 lines
3 KiB
Makefile
85 lines
3 KiB
Makefile
|
# Makefile
|
||
|
# Copyright 1984-2017 Cisco Systems, Inc.
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
version = 9.5.9
|
||
|
release = 1
|
||
|
m := $(shell find ../bin/* -type d | xargs basename)
|
||
|
arch := $(shell if test "$(m)" == "i3le" ; then echo i686 ; elif test "$(m)" == "a6le" ; then echo x86_64 ; else echo UNKNOWN ; fi)
|
||
|
DOTUSER := $(shell ls -ld . | sed -e 's/[^ ]* *[^ ]* *\([^ ]*\).*/\1/')
|
||
|
DOTGROUP := $(shell ls -ldg . | sed -e 's/[^ ]* *[^ ]* *\([^ ]*\).*/\1/')
|
||
|
TMP := $(shell pwd)/tmp
|
||
|
SPEC = $(TMP)/ChezScheme-$(version)-$(arch)-$(release).spec
|
||
|
RELEASE = csv$(version)
|
||
|
TARBALL = $(RELEASE)-$(m).tar.gz
|
||
|
RPM = ChezScheme-$(version)-$(release).$(arch).rpm
|
||
|
|
||
|
|
||
|
$(RPM): $(TMP)/$(RPM)
|
||
|
sudo install -m 644 -o $(DOTUSER) -g $(DOTGROUP) $(TMP)/${RPM} .
|
||
|
|
||
|
$(TMP)/$(RPM): $(SPEC) $(TMP)/$(TARBALL)
|
||
|
sudo setarch $(arch) rpmbuild\
|
||
|
--target $(arch)\
|
||
|
--define "_topdir $(TMP)" \
|
||
|
--define "_srcrpmdir $(TMP)" \
|
||
|
--define "_rpmdir $(TMP)" \
|
||
|
--define "_sourcedir $(TMP)" \
|
||
|
--define "_builddir $(TMP)" \
|
||
|
--define "_rpmfilename %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm" \
|
||
|
--quiet -ba $(SPEC)
|
||
|
|
||
|
$(SPEC): $(TMP)
|
||
|
echo 'Summary: Chez Scheme: A high-performance version of Scheme' > $(SPEC)
|
||
|
echo 'Name: ChezScheme' >> $(SPEC)
|
||
|
echo 'Version: $(version)' >> $(SPEC)
|
||
|
echo 'Release: $(release)' >> $(SPEC)
|
||
|
echo 'Provides: ChezScheme-runtime-{VERSION}' >> $(SPEC)
|
||
|
echo 'License: Apache 2.0' >> $(SPEC)
|
||
|
echo 'URL: http://github.com/cisco/chezscheme' >> $(SPEC)
|
||
|
echo 'Group: Development/Languages' >> $(SPEC)
|
||
|
echo 'Source0: $(TARBALL)' >> $(SPEC)
|
||
|
echo 'BuildRoot: %{_tmppath}/%{name}' >> $(SPEC)
|
||
|
echo '%description' >> $(SPEC)
|
||
|
echo 'Chez Scheme is a programming language and an implementation of that language,' >> $(SPEC)
|
||
|
echo 'with supporting tools and documentation.' >> $(SPEC)
|
||
|
echo '' >> $(SPEC)
|
||
|
echo '%prep' >> $(SPEC)
|
||
|
echo '' >> $(SPEC)
|
||
|
echo '%setup -T -b 0 -n $(RELEASE)' >> $(SPEC)
|
||
|
echo '' >> $(SPEC)
|
||
|
echo '#%build' >> $(SPEC)
|
||
|
echo '' >> $(SPEC)
|
||
|
echo '%install' >> $(SPEC)
|
||
|
echo 'make install TempRoot=%{buildroot}' >> $(SPEC)
|
||
|
echo '' >> $(SPEC)
|
||
|
echo '%files' >> $(SPEC)
|
||
|
echo '#%doc NOTICE' >> $(SPEC)
|
||
|
echo '#%doc LICENSE' >> $(SPEC)
|
||
|
echo '/usr/lib/$(RELEASE)' >> $(SPEC)
|
||
|
echo '/usr/bin/petite' >> $(SPEC)
|
||
|
echo '/usr/bin/scheme' >> $(SPEC)
|
||
|
echo '/usr/bin/scheme-script' >> $(SPEC)
|
||
|
echo '/usr/share/man/man1/petite.1.gz' >> $(SPEC)
|
||
|
echo '/usr/share/man/man1/scheme.1.gz' >> $(SPEC)
|
||
|
|
||
|
$(TMP)/$(TARBALL): $(TMP) ../bintar/$(TARBALL)
|
||
|
cp ../bintar/$(TARBALL) $(TMP)
|
||
|
|
||
|
$(TMP):
|
||
|
mkdir $(TMP)
|
||
|
|
||
|
clean:
|
||
|
rm -rf $(TMP) $(RPM)
|