Show Makefile syntax highlighted
ifndef GS_BUILD_ROOT_DIR
$(error Variable GS_BUILD_ROOT_DIR must be set by a higher level makefile)
endif
ifndef GS_BUILD_DIR
$(error Variable GS_BUILD_DIR must be set by a higher level makefile)
endif
PACKAGE=gsroot
GSROOT=${GS_BUILD_DIR}/usr/share/${PACKAGE}
VERSION=2006.08-2
ARCH=$(shell if test -f ARCH; then cat ARCH; fi)
SOURCES.LIST ?= "deb http://packages.greensocs.com/packages testing main"
DPKG = $(GS_BUILD_ROOT_DIR)/build-dpkg/bin/dpkg
all: build pack
build: ${GSROOT}/bin/gsconfig
${GSROOT}/bin/gsconfig: README gshrc gsconfig
mkdir -p ${GSROOT}/
cp README ${GSROOT}/
mkdir -p ${GSROOT}/etc/
cp gshrc ${GSROOT}/etc/
mkdir -p ${GSROOT}/bin/
cp gsconfig ${GSROOT}/bin/
cp gs-env ${GSROOT}/bin/
mkdir -p ${GSROOT}/include/
mkdir -p ${GSROOT}/var/lib/dpkg/
touch ${GSROOT}/var/lib/dpkg/status
touch ${GSROOT}/var/lib/dpkg/available
mkdir -p ${GSROOT}/var/lib/dpkg/updates/
PATH=$(GS_WORLD_DIR)/bin:${GSROOT}/bin:$$PATH && export GSROOT=$(GSROOT) && $(DPKG) --root=${GSROOT} -i $(GS_BUILD_ROOT_DIR)/dpkg_*_*.deb
PATH=$(GS_WORLD_DIR)/bin:${GSROOT}/bin:$$PATH && export GSROOT=$(GSROOT) && $(DPKG) --root=${GSROOT} -i $(GS_BUILD_ROOT_DIR)/apt_*_*.deb
echo -e "${SOURCES.LIST}" > ${GSROOT}/etc/apt/sources.list
echo $$(${GS_WORLD_DIR}/bin/dpkg --print-installation-architecture) > ARCH
pack: DPKG-DEB ?= $(GS_WORLD_DIR)/bin/dpkg-deb
pack: FAKEROOT ?= $(CURDIR)/fakeroot/bin/fakeroot
pack: tgz deb rpm
native-pack: DPKG-DEB ?= dpkg-deb
native-pack: FAKEROOT ?= fakeroot
native-pack: tgz deb rpm
tgz: $(GS_BUILD_ROOT_DIR)/${PACKAGE}_$(VERSION)_${ARCH}.tar.gz
$(GS_BUILD_ROOT_DIR)/${PACKAGE}_$(VERSION)_${ARCH}.tar.gz: build
${FAKEROOT} bash -c "chown -R root:root ${GSROOT} && cd ${GSROOT}/.. && tar czf $@ ${PACKAGE}"
deb: $(GS_BUILD_ROOT_DIR)/${PACKAGE}_$(VERSION)_${ARCH}.deb
$(GS_BUILD_ROOT_DIR)/${PACKAGE}_$(VERSION)_${ARCH}.deb: build
${GSROOT}/bin/gsconfig -f /usr/share/gsroot
mkdir -p ${GS_BUILD_DIR}/usr/bin/
cp ${GSROOT}/bin/gsh ${GS_BUILD_DIR}/usr/bin/
mkdir -p ${GS_BUILD_DIR}/DEBIAN/
cp control ${GS_BUILD_DIR}/DEBIAN/
sed "s/\(Architecture:\).*/\1 ${ARCH}/" ${GS_BUILD_DIR}/DEBIAN/control > ${GS_BUILD_DIR}/tmp.tmp && \
mv ${GS_BUILD_DIR}/tmp.tmp ${GS_BUILD_DIR}/DEBIAN/control
sed s,GS_VERSION,$(VERSION), ${GS_BUILD_DIR}/DEBIAN/control > ${GS_BUILD_DIR}/tmp.tmp && \
mv ${GS_BUILD_DIR}/tmp.tmp ${GS_BUILD_DIR}/DEBIAN/control
sed s,GS_INSTALLEDSIZE,$$(du -s ${GS_BUILD_DIR} | cut -f1), ${GS_BUILD_DIR}/DEBIAN/control > ${GS_BUILD_DIR}/tmp.tmp && \
mv ${GS_BUILD_DIR}/tmp.tmp ${GS_BUILD_DIR}/DEBIAN/control
${FAKEROOT} bash -c "chown -R root:root ${GS_BUILD_DIR} && $(DPKG-DEB) -b ${GS_BUILD_DIR} $(GS_BUILD_ROOT_DIR)"
# Alien messes with package name, so not depend on a name
rpm: deb
cd $(GS_BUILD_ROOT_DIR) && ${FAKEROOT} alien --to-rpm --keep-version $(GS_BUILD_ROOT_DIR)/${PACKAGE}_$(VERSION)_${ARCH}.deb
See more files for this project here
To develop SystemC infrustructure, basic IP, patches and add on library code for eventual standerdization.\r\nThe GreenSocs project is made up of a number of contributions (sub projects). Please visit www.greensocs.com for more information.
Project homepage:
http://sourceforge.net/projects/greensocs
Programming language(s): C,C++,Java,Perl,XML
License: other
Makefile
README
changelog
control
gs-env
gsconfig
gshrc