Code Search for Developers
 
 
  

Makefile from GreenSocs at Krugle


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

GreenSocs

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