mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
$(TOPDIR), make: Intermediate commit of revised build architecture
This commit is contained in:
parent
e752d5dc7d
commit
405f0aa49d
8 changed files with 212 additions and 31 deletions
42
Makefile
42
Makefile
|
|
@ -1,4 +1,40 @@
|
|||
MODDIR=.
|
||||
CLEAN = include lib
|
||||
SUBDIRS = $(shell find . -type d -maxdepth 1 | grep -ve "include\|CVS\|lib\|nomake" | grep /)
|
||||
include $(MODDIR)/make/dirs.mk
|
||||
SUBDIRS = $(shell find . -type d -maxdepth 1 | grep -ve "include\|CVS\|lib\|nomake\|dist\|old" | grep /)
|
||||
|
||||
include $(MODDIR)/make/defs.mk
|
||||
include $(MODDIR)/make/rules.mk
|
||||
include $(MODDIR)/make/libdist.mk
|
||||
|
||||
TEMP_BUILD_DIR = $(shell find $(TEMP_DIR) -name Makefile -maxdepth 2 | tail -1 | xargs dirname)
|
||||
|
||||
all:
|
||||
$(make_subdirs_target)
|
||||
make $(LIB_SO)
|
||||
libstat:
|
||||
$(make_subdirs)
|
||||
clean distclean:
|
||||
$(make_subdirs_target)
|
||||
install: all $(INSTALL_LIBDIR)
|
||||
make -C lib install
|
||||
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
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1,50 @@
|
|||
USE_TIMER = true
|
||||
# ytools library
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
#CONTRIBDIR = $(TOPDIR)/contrib
|
||||
PREFIX = $(HOME)/dat/test/$(PROJECT)-$(shell cat $(TOPDIR)/VERSION)
|
||||
VAR_PREFIX = $(PREFIX)/var
|
||||
EXEGROUP = $(shell id -g)
|
||||
EXEOWNER = $(shell whoami)
|
||||
EXEMODE = 770
|
||||
CFGGROUP = $(shell id -g)
|
||||
CFGOWNER = $(shell whoami)
|
||||
CFGMODE = 660
|
||||
CTRLGROUP = $(shell id -g)
|
||||
CTRLOWNER = $(shell whoami)
|
||||
CTRLMODE = 770
|
||||
INITGROUP = $(shell id -g)
|
||||
INITOWNER = $(shell whoami)
|
||||
INITMODE = 770
|
||||
LIBGROUP = $(shell id -g)
|
||||
LIBOWNER = $(shell whoami)
|
||||
LIBMODE = 770
|
||||
HDRGROUP = $(shell id -g)
|
||||
HDROWNER = $(shell whoami)
|
||||
HDRMODE = 644
|
||||
INITDIR = $(HOME)/bin
|
||||
PIDDIR = $(VAR_PREFIX)/run
|
||||
DAEMON_RUN_DIR = $(HOME)
|
||||
DAEMON_RUN_USER = $(shell whoami)
|
||||
DAEMON_RUN_GROUP = $(shell id -g)
|
||||
LOGNAME = $(shell whoami)-$(PROJECT)
|
||||
DOWNLOADDIRS = root@cvs.jannet.de:/usr/local/httpd/htdocs/www.jannet.de_443/$(CUSTOMER)/projects/$(PROJECT)
|
||||
CLIENT_INC_DIR = $(TOPDIR)/../shared/tools
|
||||
CONFIG_DIR = $(PREFIX)/etc
|
||||
CONFIG_FILE = $(CONFIG_DIR)/$(PROJECT).cfg
|
||||
LIBTYPE = static
|
||||
|
||||
# -- debugging options
|
||||
|
||||
# for using the dbmalloc lib, before you will need to do:
|
||||
# cd $(MODDIR)/contrib/dbmalloc; tar -xzf dbmalloc-ver.sion.tar.gz
|
||||
COMPILE_DEBUG_CODE = true
|
||||
#USE_DBMALLOC = true
|
||||
#USE_MEMWATCH = true
|
||||
#USE_EFENCE = true
|
||||
USE_COMPILER_DEBUG_OPTS = true
|
||||
#USE_COMPILER_OPTIMIZATION = true
|
||||
USE_TRACING = true
|
||||
USE_TIMER = true
|
||||
|
|
|
|||
|
|
@ -1 +1,49 @@
|
|||
USE_TIMER = true
|
||||
# ytools library
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
#CONTRIBDIR = $(TOPDIR)/contrib
|
||||
PREFIX = /opt/$(PROJECT)
|
||||
VAR_PREFIX = $(PREFIX)/var
|
||||
EXEGROUP = root
|
||||
EXEOWNER = root
|
||||
EXEMODE = 755
|
||||
CFGGROUP = root
|
||||
CFGOWNER = root
|
||||
CFGMODE = 640
|
||||
CTRLGROUP = root
|
||||
CTRLOWNER = root
|
||||
CTRLMODE = 750
|
||||
INITGROUP = root
|
||||
INITOWNER = root
|
||||
INITMODE = 740
|
||||
LIBGROUP = root
|
||||
LIBOWNER = root
|
||||
LIBMODE = 755
|
||||
HDRGROUP = root
|
||||
HDROWNER = root
|
||||
HDRMODE = 644
|
||||
INITDIR = /etc/init.d
|
||||
PIDDIR = $(VAR_PREFIX)/run
|
||||
DAEMON_RUN_DIR = /opt/$(PROJECT)
|
||||
DAEMON_RUN_USER = dsprun
|
||||
DAEMON_RUN_GROUP = dsprun
|
||||
LOGNAME = $(PROJECT)
|
||||
DOWNLOADDIRS = root@cvs.jannet.de:/usr/local/httpd/htdocs/www.jannet.de_443/$(CUSTOMER)/projects/$(PROJECT)
|
||||
CONFIG_DIR = $(PREFIX)/etc
|
||||
CONFIG_FILE = $(CONFIG_DIR)/$(PROJECT).cfg
|
||||
LIBTYPE = static
|
||||
|
||||
# -- debugging options
|
||||
|
||||
# for using the dbmalloc lib, before you will need to do:
|
||||
# cd $(MODDIR)/contrib/dbmalloc; tar -xzf dbmalloc-ver.sion.tar.gz
|
||||
#COMPILE_DEBUG_CODE = true
|
||||
#USE_DBMALLOC = true
|
||||
#USE_MEMWATCH = true
|
||||
#USE_EFENCE = true
|
||||
#USE_COMPILER_DEBUG_OPTS = true
|
||||
#USE_COMPILER_OPTIMIZATION = true
|
||||
#USE_TRACING = true
|
||||
#USE_TIMER = true
|
||||
|
|
|
|||
|
|
@ -3,14 +3,25 @@
|
|||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
# doesn't work :-(
|
||||
ifndef PROJECT
|
||||
PROJECT := yannet
|
||||
LIBNAME := yannet
|
||||
else
|
||||
LIBNAME := $(PROJECT)
|
||||
PROJECT := ytools
|
||||
REQUIRED = make misc slog platform \
|
||||
devutil \
|
||||
hash \
|
||||
hexdump \
|
||||
lbuffer \
|
||||
debug \
|
||||
cfgfile gtopts \
|
||||
lock sigsync shmem \
|
||||
usrv uclnt statecheck msgfmt \
|
||||
YMisc YError \
|
||||
YThread YMutex YCbContr \
|
||||
YTimeB YStopWatch YStopWatchList YStopWatchQueue YStopWatchThreadList \
|
||||
lib
|
||||
endif
|
||||
|
||||
LIBNAME := $(PROJECT)
|
||||
|
||||
ifndef TOPDIR
|
||||
TOPDIR := $(MODDIR)
|
||||
endif
|
||||
|
|
@ -42,7 +53,8 @@ GCC_REV = $(shell gcc -v 2>&1 | grep version | awk '{ split($$3,a,"."); pri
|
|||
|
||||
CPP = g++
|
||||
|
||||
#LIBNAME = $(PROJECT)
|
||||
EXE_SH = $(wildcard *.sh)
|
||||
|
||||
CFILES = $(wildcard *.c)
|
||||
CPPFILES = $(wildcard *.cc *.cpp)
|
||||
CALLSRC = $(CFILES) $(CPPFILES)
|
||||
|
|
@ -85,13 +97,18 @@ ALL_CSRC = $(LOCAL_CSRC) $(PREREQ_CSRC)
|
|||
TEXTCLEAN = $(wildcard *~ .*~ .*.swp *.rep)
|
||||
INCLUDE = -I. -I$(TOPDIR)/include -I$(MODDIR)/include $(PROJECT_INCLUDE) $(LOCAL_INCLUDE)
|
||||
INSTALL_LIBDIR = $(PREFIX)/lib
|
||||
INSTALL_HDRDIR = $(PREFIX)/include
|
||||
INSTALL_BINDIR = $(PREFIX)/bin
|
||||
|
||||
SO_SUFFIX = so.$(VERSION)
|
||||
LIB_A = $(LIBDIR)/lib$(LIBNAME).a
|
||||
ifeq ($(LIBTYPE),shared)
|
||||
LIB_SO = $(LIBDIR)/lib$(LIBNAME).so
|
||||
INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/lib$(LIBNAME).so
|
||||
else
|
||||
endif
|
||||
LIB_SO = $(LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
||||
INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
||||
INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
|
||||
|
||||
INSTALLED_EXE = $(INSTALL_BINDIR)/$(EXE)
|
||||
INSTALLED_EXE_SH = $(addprefix $(INSTALL_BINDIR)/,$(EXE_SH))
|
||||
|
||||
MEMBERS = $(LIB_A)($(OBJ))
|
||||
#PREFIX = ../# CAUTION: This breaks the installation in the project
|
||||
#MEMWATCH = -DMEMWATCH -DMW_STDIO
|
||||
|
|
|
|||
10
make/dist.mk
10
make/dist.mk
|
|
@ -17,6 +17,7 @@ DOWNLOAD_REFERRER_DIRS = $(addprefix $(UPLOAD_DOCUMENT_ROOT)/, \
|
|||
|
||||
# -- general, and less important
|
||||
DISTDIR = $(TOPDIR)/dist
|
||||
DIST_FILE = $(DISTDIR)/$(PROJECT)-$(VERSION).tar.gz
|
||||
TMPHTML=$(DISTDIR)/html
|
||||
DOWNLOAD_URLDIR=$(DOWNLOAD_SERVER)/$(URL_RELATIVE_PATH)
|
||||
TARGET_DIR = $(UPLOAD_DOCUMENT_ROOT)/$(UPLOAD_VIRTUAL_SERVER_ROOT)/$(URL_RELATIVE_PATH)
|
||||
|
|
@ -45,6 +46,10 @@ $(SSI_PREFIX)%.html: $(TMPHTML) $(SSI_DOWNLOAD_TMPL)
|
|||
s/_SIZE_/$$SIZE/g;\
|
||||
" > $@
|
||||
|
||||
remove_dist:
|
||||
rm -rf $(DISTDIR)
|
||||
|
||||
distclean: remove_dist
|
||||
$(DIST_FILE): distclean
|
||||
mkdir -p $(DISTDIR)/src/$(PROJECT)
|
||||
mkdir -p $(DISTDIR)/pckg
|
||||
|
|
@ -54,7 +59,10 @@ $(DIST_FILE): distclean
|
|||
grep -ve 'CVS\|contrib/nomake\|tar.gz\|/dist/\|experimental' | \
|
||||
xargs tar -cf - | tar -C $(DISTDIR)/src/$(PROJECT) -xf -
|
||||
echo $(DIST_VERSION) > $(DISTDIR)/src/$(PROJECT)/VERSION ;\
|
||||
for mod in $(REQUIRED) ; do make -C $(MODDIR)/$$mod clean; cp -r $(MODDIR)/$$mod $(DISTDIR)/src/$(PROJECT)/mod/ ; done ;\
|
||||
echo $(REQUIRED) | while read mod ;\
|
||||
do make -C $(MODDIR)/$$mod clean ;\
|
||||
cp -r $(MODDIR)/$$mod $(DISTDIR)/src/$(PROJECT)/mod/ ;\
|
||||
done ;\
|
||||
cp $(MODDIR)/Makefile $(DISTDIR)/src/$(PROJECT)/mod/ ;\
|
||||
tar -czv -C $(DISTDIR)/src/ -f $(DIST_FILE) $(PROJECT)
|
||||
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@ EXE = $(ALL)
|
|||
include $(MODDIR)/make/defs.mk
|
||||
include $(MODDIR)/make/rules.mk
|
||||
clean: execlean localclean
|
||||
install: $(ALL) installexe
|
||||
install: $(ALL) $(INSTALLED_EXE)
|
||||
|
|
|
|||
|
|
@ -27,11 +27,14 @@ $(LIBDIR):
|
|||
moc_%.cpp: %.h
|
||||
$(MOC) -o $@ $<
|
||||
|
||||
ifeq ($(LIBTYPE),shared)
|
||||
lib%.so: %.o $(LIB_SO)
|
||||
else
|
||||
#ifeq ($(LIBTYPE),shared)
|
||||
#lib%.so: %.o $(LIB_SO)
|
||||
#else
|
||||
#lib%.so: %.o
|
||||
#endif
|
||||
# $(CC) $< $(LDFLAGS) -o $@
|
||||
|
||||
lib%.so: %.o
|
||||
endif
|
||||
$(CC) $< $(LDFLAGS) -o $@
|
||||
|
||||
$(LIB_SO): $(LIB_A)
|
||||
|
|
@ -66,15 +69,30 @@ endif
|
|||
$(LIBS):
|
||||
make -C $(LIBDIR) all
|
||||
|
||||
$(INSTALL_LIBDIR)/%.so: %.so
|
||||
$(INSTALL) $< $@
|
||||
$(INSTALL_HDRDIR) $(INSTALL_BINDIR) $(INSTALL_LIBDIR):
|
||||
mkdir -p $@
|
||||
|
||||
$(PREFIX)/bin/$(EXE): $(EXE)
|
||||
$(INSTALL) $(EXE) $(PREFIX)/bin/
|
||||
$(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): $(INSTALL_LIBDIR)
|
||||
|
||||
$(INSTALLED_LIB_SO): $(LIB_SO)
|
||||
#$(INSTALL_BINDIR)/%.bin: %.bin
|
||||
# $(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
||||
|
||||
ifneq ($(EXE),)
|
||||
$(INSTALLED_EXE): $(EXE)
|
||||
$(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
||||
endif
|
||||
$(INSTALL_BINDIR)/%.sh: %.sh
|
||||
install -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
||||
|
||||
$(INSTALL_LIBDIR)/%.so: %.so
|
||||
install -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
|
||||
$(INSTALL_LIBDIR)/%.$(SO_SUFFIX): %.$(SO_SUFFIX)
|
||||
install -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
|
||||
|
||||
$(INSTALL_HDRDIR)/%.h: %.h
|
||||
install -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
|
||||
|
||||
|
||||
checkroot:
|
||||
@if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \
|
||||
echo "Error: You can only do this if either" ;\
|
||||
|
|
@ -82,12 +100,11 @@ checkroot:
|
|||
echo " b) the Makefile variable CHECK_ROOT does not contain \"true\" as value." ;\
|
||||
fi
|
||||
|
||||
installexe: all checkroot $(PREFIX)/bin/$(EXE)
|
||||
installexe: all checkroot $(INSTALLED_EXE)
|
||||
|
||||
installso: all checkroot $(PREFIX)/lib $(INSTALLED_SHOBJS)
|
||||
installso: all checkroot $(INSTALL_LIBDIR) $(INSTALLED_SHOBJS)
|
||||
|
||||
installsh: all checkroot $(PREFIX)/bin
|
||||
$(INSTALL) $(SHSCRIPTS) $(PREFIX)/bin/
|
||||
installsh: all checkroot $(INSTALL_BINDIR) $(INSTALLED_EXE_SH)
|
||||
|
||||
pckgclean:
|
||||
rm -rf *.zip *.tar.gz *.rpm *.deb
|
||||
|
|
@ -128,3 +145,8 @@ profclean:
|
|||
|
||||
timerclean:
|
||||
rm -f timers_*.h
|
||||
|
||||
install_libdir: $(INSTALL_LIBDIR)
|
||||
install_bindir: $(INSTALL_BINDIR)
|
||||
install_hdrdir: $(INSTALL_HDRDIR)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
include $(MODDIR)/make/defs.mk
|
||||
include $(MODDIR)/make/rules.mk
|
||||
distclean: textclean localclean
|
||||
clean: textclean localclean
|
||||
install: # nothing to be done
|
||||
all: # nothing to be done
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue