mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
$(TOPDIR), make: Start new build architecture
Intermediate commit of half done transition to new build architecture.
This commit is contained in:
parent
fa41ecc8c4
commit
a702e5b714
9 changed files with 142 additions and 50 deletions
35
Makefile
35
Makefile
|
|
@ -1,40 +1,13 @@
|
||||||
MODDIR=.
|
MODDIR=.
|
||||||
SUBDIRS = $(shell find . -type d -maxdepth 1 | grep -ve "include\|CVS\|lib\|nomake\|dist\|old" | grep /)
|
|
||||||
|
|
||||||
include $(MODDIR)/make/defs.mk
|
include $(MODDIR)/make/defs.mk
|
||||||
|
SUBDIRS = $(REQUIRED)
|
||||||
include $(MODDIR)/make/rules.mk
|
include $(MODDIR)/make/rules.mk
|
||||||
include $(MODDIR)/make/libdist.mk
|
include $(MODDIR)/make/rpmdist.mk
|
||||||
|
|
||||||
TEMP_BUILD_DIR = $(shell find $(TEMP_DIR) -name Makefile -maxdepth 2 | tail -1 | xargs dirname)
|
|
||||||
|
|
||||||
all:
|
all:
|
||||||
$(make_subdirs_target)
|
$(make_subdirs_target)
|
||||||
make $(LIB_SO)
|
|
||||||
libstat:
|
|
||||||
$(make_subdirs)
|
|
||||||
clean distclean:
|
clean distclean:
|
||||||
$(make_subdirs_target)
|
$(make_subdirs_target)
|
||||||
install: all $(INSTALL_LIBDIR)
|
install: all
|
||||||
make -C lib install
|
$(make_subdirs_target)
|
||||||
install-devel: install
|
|
||||||
make -C include install
|
|
||||||
|
|
||||||
libshared: libstat $(LIB_SO)
|
|
||||||
|
|
||||||
distclean: clean.dist
|
|
||||||
|
|
||||||
rpm.untar-build: rpm.untar
|
|
||||||
make -C $(TEMP_BUILD_DIR) rpm.build
|
|
||||||
|
|
||||||
rpm.untar: build.dist
|
|
||||||
rm -rf $(TEMP_DIR)
|
|
||||||
mkdir -p $(TEMP_DIR)
|
|
||||||
tar -xzf $(DIST_FILE) -C $(TEMP_DIR)
|
|
||||||
|
|
||||||
rpm.build-devel:
|
|
||||||
sudo -u root "make install"
|
|
||||||
rpm.build-user:
|
|
||||||
sudo -u root "make install"
|
|
||||||
|
|
||||||
rpm.build: rpm.build-devel rpm.build-user
|
|
||||||
|
|
||||||
|
|
|
||||||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
1.0.0.0-dev
|
1.0.0-0-dev
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
#CONTRIBDIR = $(TOPDIR)/contrib
|
#CONTRIBDIR = $(TOPDIR)/contrib
|
||||||
PREFIX = $(HOME)/dat/test/$(PROJECT)-$(shell cat $(TOPDIR)/VERSION)
|
PREFIX = $(HOME)/dat/test/$(PROJECT)-$(shell cat $(TOPDIR)/VERSION)
|
||||||
VAR_PREFIX = $(PREFIX)/var
|
VAR_PREFIX = $(PREFIX)/var
|
||||||
|
DOC_PREFIX = $(PREFIX)/doc/$(PROJECT)
|
||||||
EXEGROUP = $(shell id -g)
|
EXEGROUP = $(shell id -g)
|
||||||
EXEOWNER = $(shell whoami)
|
EXEOWNER = $(shell whoami)
|
||||||
EXEMODE = 770
|
EXEMODE = 770
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,9 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
#CONTRIBDIR = $(TOPDIR)/contrib
|
#CONTRIBDIR = $(TOPDIR)/contrib
|
||||||
PREFIX = /opt/$(PROJECT)
|
PREFIX = $(ENV_PREFIX)/opt/$(PROJECT)
|
||||||
VAR_PREFIX = $(PREFIX)/var
|
VAR_PREFIX = $(ENV_PREFIX)/var/opt
|
||||||
|
DOC_PREFIX = $(ENV_PREFIX)/usr/share/doc/packages/$(PROJECT)
|
||||||
EXEGROUP = root
|
EXEGROUP = root
|
||||||
EXEOWNER = root
|
EXEOWNER = root
|
||||||
EXEMODE = 755
|
EXEMODE = 755
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
# generic utility modules
|
|
||||||
# (c) 2001 jannet it services
|
# (c) 2001 jannet it services
|
||||||
# contact@jannet.de
|
# contact@jannet.de
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
ifndef PROJECT
|
ifndef PROJECT
|
||||||
PROJECT := ytools
|
PROJECT := ytools
|
||||||
REQUIRED = make misc slog platform \
|
REQUIRED = make \
|
||||||
|
doc \
|
||||||
|
misc slog platform \
|
||||||
devutil \
|
devutil \
|
||||||
hash \
|
hash \
|
||||||
hexdump \
|
hexdump \
|
||||||
|
|
@ -35,6 +37,7 @@ DIST_WINVERSION = $(shell echo $(WINVERSION) | sed -e "s/-dev//")
|
||||||
LOCAL_DIST_VERSION = $(shell echo $(LOCAL_VERSION) | sed -e "s/-dev//")
|
LOCAL_DIST_VERSION = $(shell echo $(LOCAL_VERSION) | sed -e "s/-dev//")
|
||||||
LOCAL_DIST_WINVERSION = $(shell echo $(LOCAL_WINVERSION) | sed -e "s/-dev//")
|
LOCAL_DIST_WINVERSION = $(shell echo $(LOCAL_WINVERSION) | sed -e "s/-dev//")
|
||||||
DEVELOPMENT = $(shell cat $(TOPDIR)/VERSION | grep 'dev' >/dev/null && echo true)
|
DEVELOPMENT = $(shell cat $(TOPDIR)/VERSION | grep 'dev' >/dev/null && echo true)
|
||||||
|
PROJECT_STEM = $(PROJECT)-$(DIST_VERSION)
|
||||||
|
|
||||||
ifeq ($(DEVELOPMENT),true)
|
ifeq ($(DEVELOPMENT),true)
|
||||||
include $(TOPDIR)/make/cfg_dev.mk
|
include $(TOPDIR)/make/cfg_dev.mk
|
||||||
|
|
@ -99,11 +102,20 @@ INCLUDE = -I. -I$(TOPDIR)/include -I$(MODDIR)/include $(PROJECT_INCLUDE) $(L
|
||||||
INSTALL_LIBDIR = $(PREFIX)/lib
|
INSTALL_LIBDIR = $(PREFIX)/lib
|
||||||
INSTALL_HDRDIR = $(PREFIX)/include
|
INSTALL_HDRDIR = $(PREFIX)/include
|
||||||
INSTALL_BINDIR = $(PREFIX)/bin
|
INSTALL_BINDIR = $(PREFIX)/bin
|
||||||
|
INSTALL_DOCDIR_DIST = $(DOC_PREFIX)
|
||||||
|
INSTALL_DOCDIR_DEVEL = $(DOC_PREFIX)-devel
|
||||||
|
DOCS = $(wildcard README CHANGES TODO LICENSE AUTHORS CREDITS *.pdf *.txt *.html)
|
||||||
|
DOCSUBDIRS = $(wildcard html tex info examples src)
|
||||||
|
|
||||||
SO_SUFFIX = so.$(VERSION)
|
INSTALLED_DOCS_DIST = $(addprefix $(INSTALL_DOCDIR_DIST)/,$(DOCS))
|
||||||
|
INSTALLED_DOCS_DEVEL = $(addprefix $(INSTALL_DOCDIR_DEVEL)/,$(DOCS))
|
||||||
|
|
||||||
|
SO_SUFFIX = so.$(shell echo $(VERSION) | cut -d- -f1)
|
||||||
LIB_A = $(LIBDIR)/lib$(LIBNAME).a
|
LIB_A = $(LIBDIR)/lib$(LIBNAME).a
|
||||||
LIB_SO = $(LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
LIB_SO = $(LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
||||||
INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
||||||
|
INSTALLED_LINKS_SO = $(shell echo $(INSTALLED_LIB_SO) | sed -e "s/\.so\..*$$/.so/" | grep -v $(INSTALLED_LIB_SO))
|
||||||
|
LINKS_SO = $(shell echo $(LIB_SO) | sed -e "s/\.so\..*$$/.so/" | grep -v $(LIB_SO))
|
||||||
INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
|
INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
|
||||||
|
|
||||||
INSTALLED_EXE = $(INSTALL_BINDIR)/$(EXE)
|
INSTALLED_EXE = $(INSTALL_BINDIR)/$(EXE)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,11 @@ include $(MODDIR)/make/defs.mk
|
||||||
include $(MODDIR)/make/rules.mk
|
include $(MODDIR)/make/rules.mk
|
||||||
|
|
||||||
all:
|
all:
|
||||||
|
ifeq ($(shell pwd | xargs basename),devel)
|
||||||
install: $(INSTALLED_DOCS_DEVEL)
|
install: $(INSTALLED_DOCS_DEVEL)
|
||||||
|
else
|
||||||
|
install: $(INSTALLED_DOCS_DIST)
|
||||||
|
endif
|
||||||
clean distclean:
|
clean distclean:
|
||||||
rm -rf *~ .*.swp
|
rm -rf *~ .*.swp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,15 +37,15 @@ shift
|
||||||
|
|
||||||
if [ -z "$V" ]; then
|
if [ -z "$V" ]; then
|
||||||
if [ -f $TOPDIR/VERSION ]; then
|
if [ -f $TOPDIR/VERSION ]; then
|
||||||
VERSION="`cat $TOPDIR/VERSION | cut -d. -f-3`"
|
VERSION="`cat $TOPDIR/VERSION | cut -d- -f1`"
|
||||||
RELEASE="`cat $TOPDIR/VERSION | cut -d. -f4-`"
|
RELEASE="`cat $TOPDIR/VERSION | cut -d- -f2-`"
|
||||||
else
|
else
|
||||||
VERSION=noversion
|
VERSION=noversion
|
||||||
RELEASE=norelease
|
RELEASE=norelease
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
VERSION="`echo $V | cut -d. -f-3`"
|
VERSION="`echo $V | cut -d- -f1`"
|
||||||
RELEASE="`echo $V | cut -d. -f4-`"
|
RELEASE="`echo $V | cut -d- -f2-`"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$NAME" ]; then
|
if [ -z "$NAME" ]; then
|
||||||
|
|
@ -61,12 +61,24 @@ echo "Group: System Environment/Libraries"
|
||||||
[ -n "$SOURCE" ] && echo "Source: $SOURCE"
|
[ -n "$SOURCE" ] && echo "Source: $SOURCE"
|
||||||
echo "Vendor: Jannet IT Services, Berlin"
|
echo "Vendor: Jannet IT Services, Berlin"
|
||||||
echo "URL: http://www.jannet.de"
|
echo "URL: http://www.jannet.de"
|
||||||
|
echo "BuildRoot: /var/tmp/%{name}-buildroot"
|
||||||
echo "%define post /sbin/ldconfig"
|
echo "%define post /sbin/ldconfig"
|
||||||
#echo "%define __spec_install_post /sbin/ldconfig"
|
#echo "%define __spec_install_post /sbin/ldconfig"
|
||||||
echo ""
|
echo ""
|
||||||
echo "%description"
|
echo "%description"
|
||||||
echo "Tool collection containing various programming and networking tools and"
|
echo "This is a library providing easy-to-use interfaces for:"
|
||||||
echo "a lightweight middleware suite."
|
echo ""
|
||||||
|
echo "+ platform independent logging"
|
||||||
|
echo "+ platform independent locking"
|
||||||
|
echo "+ platform independent threads"
|
||||||
|
echo "+ platform independent profiling"
|
||||||
|
echo "+ a platform independent config file reader"
|
||||||
|
echo "+ shared memory"
|
||||||
|
echo "+ a lightweight middleware suite"
|
||||||
|
echo ""
|
||||||
|
echo "It was originally designed to be a versatile pool of"
|
||||||
|
echo "programming tools to be used in my projects as a freelancing"
|
||||||
|
echo "software developer."
|
||||||
echo ""
|
echo ""
|
||||||
echo "%prep"
|
echo "%prep"
|
||||||
#echo "echo hallo"
|
#echo "echo hallo"
|
||||||
|
|
@ -93,14 +105,15 @@ echo ""
|
||||||
#echo "%post /sbin/ldconfig"
|
#echo "%post /sbin/ldconfig"
|
||||||
echo ""
|
echo ""
|
||||||
echo "%clean"
|
echo "%clean"
|
||||||
echo 'rm -rf $RPM_BUILD_ROOT/usr/'
|
echo 'rm -rf $RPM_BUILD_ROOT'
|
||||||
echo 'rm -rf $RPM_BUILD_ROOT/opt/ytools/'
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "%files"
|
echo "%files"
|
||||||
echo '%defattr (-, root, root)'
|
echo '%defattr (-, root, root)'
|
||||||
echo "%dir /opt/ytools/lib"
|
#echo "%dir /opt/ytools/lib"
|
||||||
find /opt/ytools/lib -type f
|
echo "/opt/ytools/lib"
|
||||||
echo "%dir /usr/share/doc/packages/ytools"
|
#find /opt/ytools/lib -type f
|
||||||
find /usr/share/doc/packages/ytools -type f
|
#echo "%dir /usr/share/doc/packages/ytools"
|
||||||
|
echo "/usr/share/doc/packages/ytools"
|
||||||
|
#find /usr/share/doc/packages/ytools -type f
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
|
|
||||||
82
make/rpmdist.mk
Normal file
82
make/rpmdist.mk
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
include $(MODDIR)/make/defs.mk
|
||||||
|
|
||||||
|
CLEAN = $(wildcard *.spec *.rpm *~ *.rpmrc)
|
||||||
|
DIST_SRC_DIR = dist/src/$(PROJECT_STEM)
|
||||||
|
DIST_PCKG_DIR = dist/pckg
|
||||||
|
PCKG_TAR = $(PROJECT_STEM).tar.gz
|
||||||
|
PCKG_RPM_I386 = $(PROJECT_STEM).i386.rpm
|
||||||
|
PCKG_RPM_SRC = $(PROJECT_STEM).src.rpm
|
||||||
|
BUILD_ROOT = /usr/src/packages/BUILD
|
||||||
|
RPMS_DIR = /usr/src/packages/RPMS/i386
|
||||||
|
SRPMS_DIR = /usr/src/packages/SRPMS
|
||||||
|
TARGET_HOST = dspcd.jannet.de
|
||||||
|
TARGET_DIR_TAR = $(FTP_PUB_DIR_ABS)/$(PROJECT)/tar
|
||||||
|
TARGET_DIR_RPM_I386 = $(FTP_PUB_DIR_ABS)/$(PROJECT)/rpm/i386
|
||||||
|
TARGET_DIR_RPM_SRC = $(FTP_PUB_DIR_ABS)/$(PROJECT)/rpm/src
|
||||||
|
TARGET_USER = jan
|
||||||
|
TARGET_GROUP = jannet
|
||||||
|
TARGET_FILE_MODE = 755
|
||||||
|
TARGET_DIR_MODE = 755
|
||||||
|
TARGET_DIR = $(TARGET_DIR_RPM)/$(PROJECT)
|
||||||
|
REMOTE_TARGETS = \
|
||||||
|
$(TARGET_DIR_RPM_SRC)/$(PCKG_RPM_SRC) \
|
||||||
|
$(TARGET_DIR_RPM_I386)/$(PCKG_RPM_I386) \
|
||||||
|
$(TARGET_DIR_TAR)/$(PCKG_TAR)
|
||||||
|
|
||||||
|
DIST_DIRS = $(DIST_SRC_DIR) $(DIST_PCKG_DIR)
|
||||||
|
|
||||||
|
$(DIST_DIRS):
|
||||||
|
mkdir -p $@
|
||||||
|
|
||||||
|
clean.dist:
|
||||||
|
rm -rf $(DIST_SRC_DIR) $(DIST_FILE_TAR)
|
||||||
|
|
||||||
|
cpmod.dist: clean.dist
|
||||||
|
for mod in $(REQUIRED); do \
|
||||||
|
make -C $$mod distclean ;\
|
||||||
|
mkdir -p $(DIST_SRC_DIR)/$$mod ;\
|
||||||
|
tar -C $$mod \
|
||||||
|
--exclude=dist \
|
||||||
|
--exclude=pckg \
|
||||||
|
--exclude=Debug \
|
||||||
|
--exclude=CVS \
|
||||||
|
--exclude=old \
|
||||||
|
--exclude=v1.1 \
|
||||||
|
--exclude='*.o' \
|
||||||
|
--exclude='*~' \
|
||||||
|
--exclude=xml-flat \
|
||||||
|
-cf - . | tar -C $(DIST_SRC_DIR)/$$mod -xf - ;\
|
||||||
|
done
|
||||||
|
|
||||||
|
$(REMOTE_TARGETS):
|
||||||
|
make $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@))
|
||||||
|
$(UPLOAD_SH) $(addprefix $(DIST_PCKG_DIR)/,$(notdir $@)) $@
|
||||||
|
|
||||||
|
test: $(REMOTE_TARGETS)
|
||||||
|
|
||||||
|
cpfiles.dist: clean.dist
|
||||||
|
cp Makefile $(DIST_SRC_DIR)
|
||||||
|
. make/mkspec.sh -V $(DIST_VERSION) -S $(notdir $(DIST_FILE_TAR)) -N $(PROJECT) > $(DIST_SRC_DIR)/$(PROJECT_STEM).spec
|
||||||
|
echo $(DIST_VERSION) > $(DIST_SRC_DIR)/VERSION
|
||||||
|
|
||||||
|
$(DIST_FILE_TAR): $(DIST_SRC_DIR) $(DIST_PCKG_DIR) cpmod.dist cpfiles.dist
|
||||||
|
tar -czvf $@ -C $(dir $(DIST_SRC_DIR)) $(notdir $(DIST_SRC_DIR))
|
||||||
|
|
||||||
|
#$(PROJECT).rpmrc: Makefile
|
||||||
|
# echo "%define _topdir $(shell cd $(TODPIR); pwd)" > $@
|
||||||
|
|
||||||
|
$(DIST_FILES_RPM): $(DIST_FILE_TAR)
|
||||||
|
set -e; \
|
||||||
|
su - -m -c "cd `pwd`; rpm -ta --clean $<"
|
||||||
|
cp $(RPMS_DIR)/$(notdir $@) $@
|
||||||
|
|
||||||
|
# --buildroot $(BUILD_ROOT) $<"
|
||||||
|
# --define _rpmdir$(PCKGDIR) \
|
||||||
|
# --define _builddir$(shell pwd)
|
||||||
|
|
||||||
|
build.dist: $(DIST_DIRS) cpmod.dist cpfiles.dist $(DIST_FILE_TAR)
|
||||||
|
rpm.dist: $(DIST_FILE_TAR) $(DIST_FILES_RPM)
|
||||||
|
|
||||||
|
# -- install.dist
|
||||||
|
upload.dist: build.dist rpm.dist
|
||||||
|
/usr/bin/rsync -az -v --links -e /usr/bin/ssh $(DIST_FILES_RPM) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR_RPM)
|
||||||
|
|
@ -74,6 +74,9 @@ $(INSTALL_HDRDIR) $(INSTALL_BINDIR) $(INSTALL_LIBDIR):
|
||||||
|
|
||||||
$(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): $(INSTALL_LIBDIR)
|
$(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): $(INSTALL_LIBDIR)
|
||||||
|
|
||||||
|
$(INSTALLED_LINKS_SO) $(LINKS_SO):
|
||||||
|
cd $(dir $@); ln -sf $(notdir $(shell echo $@ | sed -e 's/\.so$$\|\.so.*$$//').$(SO_SUFFIX)) $(notdir $@)
|
||||||
|
|
||||||
#$(INSTALL_BINDIR)/%.bin: %.bin
|
#$(INSTALL_BINDIR)/%.bin: %.bin
|
||||||
# $(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
# $(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
||||||
|
|
||||||
|
|
@ -92,7 +95,10 @@ $(INSTALL_LIBDIR)/%.$(SO_SUFFIX): %.$(SO_SUFFIX)
|
||||||
$(INSTALL_HDRDIR)/%.h: %.h
|
$(INSTALL_HDRDIR)/%.h: %.h
|
||||||
install -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
|
install -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
|
||||||
|
|
||||||
|
$(INSTALL_DOCDIR_DIST)/% $(INSTALL_DOCDIR_DEVEL)/%: %
|
||||||
|
mkdir -p $(dir $@)
|
||||||
|
install -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
|
||||||
|
|
||||||
checkroot:
|
checkroot:
|
||||||
@if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \
|
@if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \
|
||||||
echo "Error: You can only do this if either" ;\
|
echo "Error: You can only do this if either" ;\
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue