mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
$(TOPDIR), make, scripts: Merged changes from V_1_1_31_6_POST_ACCEPTANCE
This commit is contained in:
parent
1e1e1d4ca8
commit
d1857e8d77
14 changed files with 251 additions and 60 deletions
4
CHANGES
4
CHANGES
|
|
@ -397,3 +397,7 @@ o merged changes from V_1_1_29_40_POST_ACCEPTANCE:
|
|||
Version 1.1.31.0
|
||||
----------------
|
||||
o YAbstractFamilyMember: added support for garbage collector
|
||||
|
||||
1.2.0-0
|
||||
-------
|
||||
o merged changes from V_1_1_31_6_POST_ACCEPTANCE
|
||||
|
|
|
|||
6
Makefile
6
Makefile
|
|
@ -19,7 +19,11 @@ SUBDIRS = inst/pre \
|
|||
YMem YOptString \
|
||||
gtopts \
|
||||
lock sigsync shmem \
|
||||
contr cfgfile \
|
||||
contr/YRrBuf \
|
||||
contr/YRrLogBuf \
|
||||
contr/YStringTree \
|
||||
cfgfile \
|
||||
contr \
|
||||
YLoadableObject \
|
||||
msgfmt eloop statecheck \
|
||||
YThread YEvent YCbContr \
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
1.1.31-10-dev
|
||||
1.2.0-0-dev
|
||||
|
|
|
|||
|
|
@ -1,18 +1,51 @@
|
|||
CORE_DUMPER = $(shell echo -e "quit" | gdb --core=$(CORE) 2>&1 | \
|
||||
sed '/Core was generated/ !d; s/Core was generated by `//; s/ .*//' | xargs -r which)
|
||||
ifeq ($(CORE_DUMPER),)
|
||||
CORE_DUMPER = $(EXE)
|
||||
CORE_DUMPER = $(EXE_PATH)
|
||||
endif
|
||||
|
||||
PID = $(shell ps aux | sed "/$(EXE)/ !d; /sed/ d" | awk '{print $$2}')
|
||||
PID = $(shell ps aux | sed "/$(notdir $(EXE_PATH))/ !d; /sed/ d" | awk '{print $$2}')
|
||||
|
||||
all:
|
||||
|
||||
kdbg gdb ddd:
|
||||
$@ $(CORE_DUMPER) $(firstword $(CORE))
|
||||
gdb ddd:
|
||||
ifneq ($(CORE),)
|
||||
$@ --core=$(firstword $(CORE)) --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
else
|
||||
$@ --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
endif
|
||||
|
||||
kdbg:
|
||||
$@ $(CORE_DUMPER) $(firstword $(CORE)) -a "$(EXE_ARGS)"
|
||||
|
||||
cgdb:
|
||||
ifneq ($(CORE),)
|
||||
$@ -- --core=$(firstword $(CORE)) --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
else
|
||||
$@ -- --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
endif
|
||||
|
||||
attach:
|
||||
gdb ./$(EXE) -p $(PID)
|
||||
gdb $(EXE_PATH) -p $(PID)
|
||||
|
||||
attach-strace:
|
||||
strace -f ./$(EXE) -p $(PID)
|
||||
strace -f $(EXE_PATH) -p $(PID)
|
||||
|
||||
report:
|
||||
generate-coredump-report.sh -l
|
||||
mkdir -p crashes
|
||||
if ls *core*.txt.bz2* >/dev/null 2>&1; then mv *core*.txt.bz2 crashes/; fi
|
||||
|
||||
view-report:
|
||||
less `ls -rt crashes/*core*.txt.bz2 | tail -1`
|
||||
localcore:
|
||||
echo core.%h.%e.%p | sudo tee /proc/sys/kernel/core_pattern
|
||||
|
||||
centralcore:
|
||||
echo /var/cores/core.%h.%e.%p | sudo tee /proc/sys/kernel/core_pattern
|
||||
|
||||
coreclean: centralcore-clean
|
||||
|
||||
centralcore-clean:
|
||||
rm -f /var/cores/core* core*
|
||||
|
||||
|
|
|
|||
|
|
@ -5,14 +5,15 @@
|
|||
|
||||
# -- files
|
||||
#CONTRIBDIR ?= $(TOPDIR)/contrib
|
||||
PREFIX ?= $(ENV_PREFIX)$(HOME)/dat/test/$(FLAVOUR_PREFIX)$(PROJECT)-$(VERSION)
|
||||
PROJECT_DIRNAME ?= $(PROJECT)
|
||||
PREFIX ?= $(ENV_PREFIX)$(HOME)/dat/test/$(FLAVOUR_PREFIX)$(PROJECT_DIRNAME)-$(VERSION)
|
||||
VAR_PREFIX ?= $(PREFIX)/var
|
||||
DOC_PREFIX ?= $(PREFIX)/doc/$(PROJECT)
|
||||
EXE_PREFIX ?= $(PREFIX)
|
||||
INIT_PREFIX ?= $(EXE_PREFIX)
|
||||
HTDOCS_PREFIX ?= $(ENV_PREFIX)$(HOME)/srv/www/htdocs
|
||||
SYSCFG_DIR ?= $(PREFIX)/sysconfig
|
||||
CONFIG_DIR ?= $(ENV_PREFIX)$(HOME)/etc/$(FLAVOUR_PATH_PREFIX)$(PROJECT)
|
||||
CONFIG_DIR ?= $(ENV_PREFIX)$(HOME)/etc/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME)
|
||||
LD_CONF_DIR ?= $(ENV_PREFIX)$(HOME)/etc/ld.so.conf.d
|
||||
LOGROT_DIR ?= $(ENV_PREFIX)$(HOME)/etc/logrotate.d
|
||||
RSYSLOG_DIR ?= $(ENV_PREFIX)$(HOME)/etc/rsyslog.d
|
||||
|
|
|
|||
|
|
@ -5,14 +5,15 @@
|
|||
|
||||
# -- files
|
||||
#CONTRIBDIR ?= $(TOPDIR)/contrib
|
||||
PREFIX ?= $(ENV_PREFIX)/opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT)
|
||||
PROJECT_DIRNAME ?= $(PROJECT)
|
||||
PREFIX ?= $(ENV_PREFIX)/opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME)
|
||||
VAR_PREFIX ?= $(ENV_PREFIX)/var/$(FLAVOUR_PATH_PREFIX)opt
|
||||
DOC_PREFIX ?= $(ENV_PREFIX)/usr/share/doc/packages/$(FLAVOUR_PREFIX)$(PROJECT)
|
||||
DOC_PREFIX ?= $(ENV_PREFIX)/usr/share/doc/packages/$(FLAVOUR_PREFIX)$(PROJECT_DIRNAME)
|
||||
EXE_PREFIX ?= $(PREFIX)
|
||||
INIT_PREFIX ?= $(ENV_PREFIX)/etc$(FLAVOUR_PATH_SUFFIX)
|
||||
HTDOCS_PREFIX ?= $(ENV_PREFIX)/srv/www/htdocs
|
||||
SYSCFG_DIR ?= $(ENV_PREFIX)/etc/$(FLAVOUR_PATH_PREFIX)sysconfig
|
||||
CONFIG_DIR ?= $(ENV_PREFIX)/etc/opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT)
|
||||
CONFIG_DIR ?= $(ENV_PREFIX)/etc/opt/$(FLAVOUR_PATH_PREFIX)$(PROJECT_DIRNAME)
|
||||
LD_CONF_DIR ?= $(ENV_PREFIX)/etc/ld.so.conf.d
|
||||
LOGROT_DIR ?= $(ENV_PREFIX)/etc/logrotate.d
|
||||
RSYSLOG_DIR ?= $(ENV_PREFIX)/etc/rsyslog.d
|
||||
|
|
|
|||
117
make/defs.mk
117
make/defs.mk
|
|
@ -111,10 +111,15 @@ else
|
|||
endif
|
||||
endif
|
||||
|
||||
CFLAGS += -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-value -fexceptions
|
||||
CPPFLAGS += -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-value -Wno-deprecated
|
||||
CFLAGS += -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-value -fexceptions -DPROJECT_STR=\"$(PROJECT)\"
|
||||
CPPFLAGS += -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-value -Wno-deprecated -DPROJECT_STR=\"$(PROJECT)\"
|
||||
LDFLAGS += -Wall
|
||||
|
||||
ifneq ($(LOG_QUAL_PREFIX),)
|
||||
PROJECT_CFLAGS += -DKEEP_FILES_OPEN -DLOG_QUAL_PREFIX=\"$(LOG_QUAL_PREFIX)\"
|
||||
PROJECT_CPPFLAGS += -DKEEP_FILES_OPEN -DLOG_QUAL_PREFIX=\"$(LOG_QUAL_PREFIX)\"
|
||||
endif
|
||||
|
||||
ifeq ($(CATCH_ONLY_YERROR),true)
|
||||
CFLAGS += -DCATCH_ONLY_YERROR
|
||||
CPPFLAGS += -DCATCH_ONLY_YERROR
|
||||
|
|
@ -185,7 +190,7 @@ ALL_H += $(LOCAL_H) $(PREREQ_H)
|
|||
SRC_ALL_CPP += $(LOCAL_C) $(LOCAL_CPP) $(LOCAL_H)
|
||||
SRC_C += $(filter %.c, $(SRC_ALL_CPP))
|
||||
SRC_CPP += $(filter %.cc %.cpp %.C, $(SRC_ALL_CPP))
|
||||
OBJ += $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(filter %.c %.cpp %.cc, $(SRC_ALL_CPP)))))
|
||||
OBJ += $(patsubst %.C,%.o,$(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(filter %.c %.cpp %.cc %.C, $(SRC_ALL_CPP))))))
|
||||
OBJ += $(patsubst %.S,%.o,$(SFILES))
|
||||
|
||||
PREREQ_DIR += $(addprefix $(MODDIR)/,$(LOCAL_PREREQ))
|
||||
|
|
@ -217,7 +222,7 @@ UPLOAD_URL_RPM_SRC = rsync_ssh://ftp.jannet.de:/home/ftp/dat/pub/packages/rp
|
|||
PUBLIC_PATH_DEVEL_DOC = /proj/devel-docs
|
||||
UPLOAD_URL_DEVEL_DOC = rsync_ssh://root@feitnix.jannet.de:/srv/www/htdocs/jannet.de_443/$(PUBLIC_PATH_DEVEL_DOC)
|
||||
|
||||
IMAGES += $(wildcard *.png *.jpg *.bmp)
|
||||
IMAGES += $(wildcard *.png *.jpg *.bmp *.gif)
|
||||
|
||||
# -- standard dirs and files for build and install
|
||||
|
||||
|
|
@ -692,15 +697,19 @@ ifeq ($(USE_STACK_CHECK),true)
|
|||
endif
|
||||
|
||||
ifeq ($(USE_COMPILER_DEBUG_OPTS),true)
|
||||
CFLAGS += -g3
|
||||
CPPFLAGS += -g3
|
||||
LDFLAGS += -g3
|
||||
CFLAGS += -g3 -ggdb
|
||||
CPPFLAGS += -g3 -ggdb
|
||||
LDFLAGS += -g3 -ggdb
|
||||
endif
|
||||
|
||||
ifeq ($(USE_COMPILER_OPTIMIZATION_OPTS),true)
|
||||
CFLAGS += -funroll-loops -O2
|
||||
CPPFLAGS += -funroll-loops -O2
|
||||
else
|
||||
NO_OPT_FLAGS = \
|
||||
-fno-inline-functions-called-once \
|
||||
-fno-tree-loop-optimize
|
||||
|
||||
_NO_OPT_FLAGS = \
|
||||
-O0 \
|
||||
-fno-implicit-inline-templates \
|
||||
|
|
@ -735,6 +744,75 @@ endif
|
|||
|
||||
# -- use of supplementary libraries
|
||||
|
||||
ifeq ($(USE_JUX2),true)
|
||||
JUX2_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/jux2 /opt/$(FLAVOUR_PATH_PREFIX)jux2))
|
||||
JUX2_VERSION = $(call version,$(JUX2_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jux2-run = $(JUX2_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jux2-devel = $(JUX2_VERSION)
|
||||
USE_YTOOLS = true
|
||||
USE_FEEDFS = true
|
||||
USE_FEEDFS_OBJECTS = true
|
||||
USE_FEEDFS_UTILS = true
|
||||
USE_BTOOLS = true
|
||||
USE_JUX = true
|
||||
INCLUDE += -I$(JUX2_DIR)/include
|
||||
LIBFLAGS += -L$(JUX2_DIR)/lib -ljux2
|
||||
EXE_SEARCH_PATH += $(JUX2_DIR)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(USE_JUX),true)
|
||||
JUX_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/jux /opt/$(FLAVOUR_PATH_PREFIX)jux))
|
||||
JUX_VERSION = $(call version,$(JUX_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jux-run = $(JUX_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jux-devel = $(JUX_VERSION)
|
||||
USE_YTOOLS = true
|
||||
USE_FEEDFS = true
|
||||
USE_FEEDFS_OBJECTS = true
|
||||
USE_FEEDFS_UTILS = true
|
||||
USE_FEEDFS_NET = true
|
||||
USE_FEEDFS_LOCAL = true
|
||||
USE_BTOOLS = true
|
||||
USE_JUX_SHARED = true
|
||||
INCLUDE += -I$(JUX_DIR)/include
|
||||
LIBFLAGS += -L$(JUX_DIR)/lib -ljux
|
||||
EXE_SEARCH_PATH += $(JUX_DIR)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(USE_JUX_CLIENT_JAVA),true)
|
||||
JUX_CLIENT_JAVA_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/jux-client-java /opt/$(FLAVOUR_PATH_PREFIX)jux-client-java))
|
||||
JUX_CLIENT_JAVA_VERSION = $(call version,$(JUX_CLIENT_JAVA_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jux-client-java-run = $(JUX_CLIENT_JAVA_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jux-client-java-devel = $(JUX_CLIENT_JAVA_VERSION)
|
||||
USE_JUX_CLIENT = true
|
||||
LIBFLAGS += -L$(JUX_CLIENT_JAVA_DIR)/lib -ljux-client-java
|
||||
endif
|
||||
|
||||
ifeq ($(USE_JUX_CLIENT),true)
|
||||
JUX_CLIENT_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/jux-client /opt/$(FLAVOUR_PATH_PREFIX)jux-client))
|
||||
JUX_CLIENT_VERSION = $(call version,$(JUX_CLIENT_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jux-client-run = $(JUX_CLIENT_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jux-client-devel = $(JUX_CLIENT_VERSION)
|
||||
USE_FEEDFS_NET = true
|
||||
USE_JUX_SHARED = true
|
||||
INCLUDE += -I$(JUX_CLIENT_DIR)/include
|
||||
LIBFLAGS += -L$(JUX_CLIENT_DIR)/lib -ljux-client
|
||||
EXE_SEARCH_PATH += $(JUX_CLIENT_DIR)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(USE_JUX_SHARED),true)
|
||||
JUX_SHARED_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/jux-shared /opt/$(FLAVOUR_PATH_PREFIX)jux-shared))
|
||||
JUX_SHARED_VERSION = $(call version,$(JUX_SHARED_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jux-shared-run = $(JUX_SHARED_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jux-shared-devel = $(JUX_SHARED_VERSION)
|
||||
USE_YTOOLS = true
|
||||
USE_FEEDFS = true
|
||||
USE_FEEDFS_OBJECTS = true
|
||||
USE_FEEDFS_UTILS = true
|
||||
USE_BTOOLS = true
|
||||
INCLUDE += -I$(JUX_SHARED_DIR)/include
|
||||
LIBFLAGS += -L$(JUX_SHARED_DIR)/lib -ljux-shared
|
||||
endif
|
||||
|
||||
ifeq ($(USE_CCASFS),true)
|
||||
CCASFS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/ccasfs /opt/$(FLAVOUR_PATH_PREFIX)dspider/ccasfs))
|
||||
CCASFS_VERSION = $(call version,$(CCASFS_DIR))
|
||||
|
|
@ -818,8 +896,23 @@ LIBFLAGS += -L$(FEEDFS_QT_DIR)/lib -lfeedfs-qt
|
|||
EXE_SEARCH_PATH += $(FEEDFS_QT_DIR)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(USE_FEEDFS_WT),true)
|
||||
FEEDFS_WT_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/feedfs-wt /opt/$(FLAVOUR_PATH_PREFIX)feedfs-wt))
|
||||
FEEDFS_WT_VERSION = $(call version,$(FEEDFS_WT_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)feedfs-wt-run = $(FEEDFS_WT_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)feedfs-wt-devel = $(FEEDFS_WT_VERSION)
|
||||
USE_FEEDFS_UTILS = true
|
||||
USE_FEEDFS = true
|
||||
USE_YTOOLS = true
|
||||
USE_FEEDFS_GUI = true
|
||||
USE_WT_JANNET = true
|
||||
INCLUDE += -I$(FEEDFS_WT_DIR)/include
|
||||
LIBFLAGS += -L$(FEEDFS_WT_DIR)/lib -lfeedfs-wt
|
||||
EXE_SEARCH_PATH += $(FEEDFS_WT_DIR)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(USE_FEEDFS_GUI),true)
|
||||
FEEDFS_GUI_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/feedfs-gui /opt/$(FLAVOUR_PATH_PREFIX)feedfs-gui))
|
||||
FEEDFS_GUI_DIR ?= $(firstword $(wildcard $(CVS_PROJ_DIR)/feedfs-gui /opt/$(FLAVOUR_PATH_PREFIX)feedfs-gui))
|
||||
FEEDFS_GUI_VERSION = $(call version,$(FEEDFS_GUI_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)feedfs-gui-run = $(FEEDFS_GUI_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)feedfs-gui-devel = $(FEEDFS_GUI_VERSION)
|
||||
|
|
@ -877,6 +970,7 @@ RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)feedfs-net-devel = $(FEEDFS_NET_VE
|
|||
USE_FEEDFS_OBJECTS = true
|
||||
USE_FEEDFS_UTILS = true
|
||||
USE_XCHANGE = true
|
||||
USE_FEEDFS_FMEMFS = true
|
||||
USE_YTOOLS = true
|
||||
INCLUDE += -I$(FEEDFS_NET_DIR)/include
|
||||
LIBFLAGS += -L$(FEEDFS_NET_DIR)/lib -lfeedfs-net
|
||||
|
|
@ -933,7 +1027,7 @@ EXE_SEARCH_PATH += $(FEEDFS_SYSLOG_DIR)/bin
|
|||
endif
|
||||
|
||||
ifeq ($(USE_FEEDFS_OBJECTS),true)
|
||||
FEEDFS_OBJECTS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/feedfs-objects /opt/$(FLAVOUR_PATH_PREFIX)feedfs-objects))
|
||||
FEEDFS_OBJECTS_DIR ?= $(firstword $(wildcard $(CVS_PROJ_DIR)/feedfs-objects /opt/$(FLAVOUR_PATH_PREFIX)feedfs-objects))
|
||||
FEEDFS_OBJECTS_VERSION = $(call version,$(FEEDFS_OBJECTS_DIR))
|
||||
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)feedfs-objects-run = $(FEEDFS_OBJECTS_VERSION)
|
||||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)feedfs-objects-devel = $(FEEDFS_OBJECTS_VERSION)
|
||||
|
|
@ -1079,7 +1173,6 @@ RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)wt-jannet-run = $(WT_JANNET_VERSIO
|
|||
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)wt-jannet-devel = $(WT_JANNET_VERSION)
|
||||
USE_FEEDFS = true
|
||||
INCLUDE += -I$(WT_JANNET_DIR)/include
|
||||
LIBFLAGS += -L$(WT_JANNET_DIR)/lib -lwt-jannet
|
||||
LD_LIB_PATH += $(WT_JANNET_DIR)/lib
|
||||
EXE_SEARCH_PATH += $(WT_JANNET_DIR)/bin
|
||||
endif
|
||||
|
|
@ -1159,6 +1252,10 @@ ifeq ($(USE_GLIB),true)
|
|||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_WT),true)
|
||||
LIBFLAGS += -L$(WT_JANNET_DIR)/lib -lwt-jannet -lwt -lwtext -lwthttp -lwtfcgi
|
||||
endif
|
||||
|
||||
CFLAGS += $(LOCAL_CFLAGS) $(PROJECT_CFLAGS) $(INCLUDE)
|
||||
CPPFLAGS += $(LOCAL_CPPFLAGS) $(PROJECT_CPPFLAGS) $(INCLUDE)
|
||||
LDFLAGS += $(LOCAL_LDFLAGS) $(PROJECTLIB_LDFLAGS) $(PROJECT_LDFLAGS) $(LPPFLAGS) $(LIBFLAGS)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ project-header: $(PROJ_H)
|
|||
|
||||
# rules
|
||||
clean.include:
|
||||
rm -rf *.h *~ .*.swp *.done $(PROJ_H)
|
||||
rm -rf *.h *~ .*.swp *.done $(PROJ_H) $(HDRDIR_SCOPE_SUFFIX)
|
||||
|
||||
$(PROJ_H): $(filter-out $(PROJ_H) $(PROJECT)/$(PROJ_H),$(wildcard *.h $(PROJECT)/*.h))
|
||||
echo "#ifndef _$(PROJECT_CAPNAME)_H" > $@.tmp
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
include $(MODDIR)/make/defs.mk
|
||||
include $(MODDIR)/make/rules.mk
|
||||
|
||||
all: $(LD_CONF)
|
||||
all:
|
||||
ifeq ($(USE_PROJECT_LIB),false)
|
||||
ifeq ($(TARGET),mingw)
|
||||
SHOBJS += $(wildcard *.dll)
|
||||
|
|
@ -14,9 +14,9 @@ ifeq ($(USE_PROJECT_LIB),false)
|
|||
SHOBJS += $(wildcard *.so)
|
||||
endif
|
||||
all:
|
||||
install: $(INSTALLED_SHOBJS) install_LD_CONF
|
||||
install:
|
||||
else
|
||||
all: $(LIB_SO) $(LINKS_SO) $(MSVCPP_IMPLIB) $(STRIP_DONE)
|
||||
all: $(LD_CONF) $(LIB_SO) $(LINKS_SO) $(MSVCPP_IMPLIB) $(STRIP_DONE)
|
||||
install: install_LIB install_LD_CONF
|
||||
endif
|
||||
clean: libclean local_libclean clean.ld-conf
|
||||
|
|
|
|||
14
make/lo.mk
14
make/lo.mk
|
|
@ -1,6 +1,7 @@
|
|||
# === change this >
|
||||
TOOLS_DIR ?= $(TOPDIR)/tools
|
||||
CPP_PREFIX ?= YLo
|
||||
CPP_SUFFIX ?=
|
||||
SO_PREFIX ?= lo_
|
||||
LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK
|
||||
# === change this <
|
||||
|
|
@ -8,7 +9,7 @@ LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK
|
|||
include $(MODDIR)/make/defs.mk
|
||||
|
||||
.PRECIOUS: %.cpp
|
||||
LOADABLE_OBJS_BASE = $(patsubst $(CPP_PREFIX)%,%,$(basename $(notdir $(wildcard $(TOOLS_DIR)/$(CPP_PREFIX)*.h))))
|
||||
LOADABLE_OBJS_BASE = $(patsubst %$(CPP_SUFFIX),%,$(patsubst $(CPP_PREFIX)%,%,$(basename $(notdir $(wildcard $(TOOLS_DIR)/$(CPP_PREFIX)*$(CPP_SUFFIX).h)))))
|
||||
LOADABLE_OBJS = $(filter-out $(LOADABLE_OBJ_IGNORE),$(LOADABLE_OBJS_BASE))
|
||||
LOADABLE_OBJS_CPP = $(patsubst %,%.cpp,$(LOADABLE_OBJS))
|
||||
LOADABLE_OBJS_O = $(patsubst %,%.o,$(LOADABLE_OBJS))
|
||||
|
|
@ -34,16 +35,19 @@ all: $(LOADABLE_OBJ_LIBS) $(BUILD_LOADABLE_OBJ_LIBS)
|
|||
install: $(INSTALLED_LOADABLE_OBJ_LIBS)
|
||||
clean: clean.lo
|
||||
|
||||
clean.lo: profclean
|
||||
rm -f $(filter-out $(CPP_PREFIX)%.cpp,$(wildcard *.o *.cpp *.so *.done *.dll $(OTHER_LIB)))
|
||||
clean.generated:
|
||||
rm -f $(patsubst $(CPP_PREFIX)%$(CPP_SUFFIX),%,$(notdir $(wildcard $(TOOLS_DIR)/$(CPP_PREFIX)*$(CPP_SUFFIX).cpp)))
|
||||
|
||||
clean.lo: profclean clean.generated
|
||||
rm -f $(wildcard *.o *.so *.done *.dll $(OTHER_LIB))
|
||||
|
||||
$(SO_PREFIX)%.so $(SO_PREFIX)%.dll: %.o $(OTHER_LIB)
|
||||
$(CPP) $< -L. $(OTHER_LIB_LDFLAGS) -shared $(LDFLAGS) -o $@
|
||||
|
||||
%.cpp: $(TOOLS_DIR)/$(CPP_PREFIX)%.h
|
||||
%.cpp: $(TOOLS_DIR)/$(CPP_PREFIX)%$(CPP_SUFFIX).h
|
||||
echo "#include \"$<\"" > $@.tmp
|
||||
if [ "$(LO_NAMESPACE)" ]; then echo "using namespace $(LO_NAMESPACE);" >> $@.tmp; fi
|
||||
echo "$(LOADABLE_OBJ_HOOK)($(CPP_PREFIX)$*);" >> $@.tmp
|
||||
echo "$(LOADABLE_OBJ_HOOK)($(CPP_PREFIX)$*$(CPP_SUFFIX));" >> $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
$(OTHER_LIB)(%.o): %.o
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ rccclean:
|
|||
rm -rf $(RCC_CPP)
|
||||
|
||||
textclean: doneclean
|
||||
rm -rf *~ .*~ .*.swp *.rep \#*\# .kdbgrc.* .\#*
|
||||
rm -rf *~ .*~ .*.swp *.rep \#*\# .kdbgrc.* .\#* .exrc
|
||||
|
||||
allclean:
|
||||
rm -rf $(ALL) $(LOCAL_TARGETS)
|
||||
|
|
@ -166,9 +166,9 @@ ifneq ($(wildcard *.so),)
|
|||
@echo "======= libraries:"
|
||||
@for o in *.so; do echo "------- $$o"; ldd $$o; done
|
||||
endif
|
||||
ifneq ($(EXE),)
|
||||
ifneq ($(EXE_PATH),)
|
||||
@echo "======= executables:"
|
||||
@for o in $(EXE); do echo "------- $$o"; ldd $$o; done
|
||||
@for o in $(EXE_PATH); do echo "------- $$o"; ldd $$o; done
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
|
|||
48
make/run.mk
48
make/run.mk
|
|
@ -19,42 +19,64 @@ include $(MODDIR)/make/rules.mk
|
|||
include $(MODDIR)/make/ldlibpath.mk
|
||||
include $(MODDIR)/make/debugger.mk
|
||||
|
||||
EXE_PATH ?= ./$(EXE)
|
||||
|
||||
all:
|
||||
install:
|
||||
valgrind:
|
||||
rm -f $(CORE)
|
||||
valgrind $(VALGRIND_OPTS) ./$(EXE) $(EXE_ARGS)
|
||||
valgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
||||
|
||||
callgrind:
|
||||
rm -f $(CORE)
|
||||
valgrind --tool=callgrind $(VALGRIND_OPTS) ./$(EXE) $(EXE_ARGS)
|
||||
valgrind --tool=callgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
||||
|
||||
ifeq ($(TARGET),mingw)
|
||||
run test:
|
||||
@echo "wine $(EXE) $(EXE_ARGS)"
|
||||
run test: all
|
||||
@echo "wine $(EXE_PATH) $(EXE_ARGS)"
|
||||
@echo -e "set PATH=%PATH;$(DLL_PATH)\n" \
|
||||
"$(EXE) $(EXE_ARGS)" | wine cmd
|
||||
"$(EXE_PATH) $(EXE_ARGS)" | wine cmd
|
||||
|
||||
start: all
|
||||
@echo "wine $(EXE_PATH) $(EXE_ARGS)"
|
||||
@echo -e "set PATH=%PATH;$(DLL_PATH)\n" \
|
||||
"$(EXE_PATH) $(EXE_ARGS)" | wine cmd &
|
||||
|
||||
clean: winrunclean
|
||||
|
||||
winrunclean:
|
||||
rm -f start.bat
|
||||
else
|
||||
run test:
|
||||
run test: all
|
||||
rm -f $(CORE)
|
||||
./$(EXE) $(EXE_ARGS)
|
||||
$(EXE_PATH) $(EXE_ARGS)
|
||||
start: all
|
||||
rm -f $(CORE)
|
||||
$(EXE_PATH) $(EXE_ARGS) &
|
||||
|
||||
# unfortunately iwatch only supports one directory :-(
|
||||
autorun:
|
||||
make run &
|
||||
iwatch -e close_write -c "$(HOME)/bin/run-once.sh make restart" \
|
||||
$(BUILD_LIBDIR)
|
||||
|
||||
wait-stop:
|
||||
while /sbin/checkproc $(notdir $(EXE_PATH)); do sleep 1; done
|
||||
|
||||
restart: stop wait-stop all start
|
||||
|
||||
endif
|
||||
|
||||
stop:
|
||||
killall ./$(EXE)
|
||||
if /sbin/checkproc $(notdir $(EXE_PATH)); then killall $(notdir $(EXE_PATH)); fi
|
||||
kill:
|
||||
killall -9 ./$(EXE)
|
||||
killall -9 $(notdir $(EXE_PATH))
|
||||
|
||||
abort:
|
||||
killall -6 ./$(EXE)
|
||||
killall -6 $(notdir $(EXE_PATH))
|
||||
|
||||
strace: $(EXE) $(EXE_BIN)
|
||||
strace -f ./$(EXE) $(EXE_ARGS)
|
||||
strace: $(EXE_PATH) $(EXE_BIN)
|
||||
strace -f $(EXE_PATH) $(EXE_ARGS)
|
||||
|
||||
kcg:
|
||||
kcachegrind callgrind.*
|
||||
|
|
@ -63,6 +85,6 @@ clean: runclean localclean
|
|||
|
||||
start.bat:
|
||||
echo "set PATH=%PATH;$(DLL_PATH)" > $@.tmp
|
||||
echo "$(EXE) $(EXE_ARGS)" >> $@.tmp
|
||||
echo "$(EXE_PATH) $(EXE_ARGS)" >> $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ clean: topdir.clean
|
|||
config:
|
||||
|
||||
SUBDIRS ?= $(wildcard inst/pre make scripts tools src include lib bin \
|
||||
util plugins conf config cfg doc test inst/post)
|
||||
util plugins conf config cfg images doc test inst/post)
|
||||
|
||||
ifneq ($(wildcard $(TOPDIR)/make/defs.mk),)
|
||||
include $(TOPDIR)/make/defs.mk
|
||||
|
|
@ -50,15 +50,35 @@ do-install-links:
|
|||
find lib -name '*.so' -o -name '*.so.*' -o -name '*.a' -o -name '*.dll' | \
|
||||
sed 's%^\./%%' | \
|
||||
while read f; do \
|
||||
cd $(INSTALL_LIBDIR); \
|
||||
echo " sudo ln -sf $$cwd/$$f" ; \
|
||||
sudo ln -sf $$cwd/$$f; \
|
||||
cd $(INSTALL_LIBDIR) && { \
|
||||
echo " sudo ln -sf $$cwd/$$f" ; \
|
||||
sudo ln -sf $$cwd/$$f; \
|
||||
}; \
|
||||
done; \
|
||||
echo "o in $(INSTALL_EXEDIR):" ;\
|
||||
find bin -type f -a -perm -u+x | \
|
||||
sed 's%^\./%%' | \
|
||||
while read f; do \
|
||||
cd $(INSTALL_EXEDIR); \
|
||||
echo " sudo ln -sf $$cwd/$$f" ; \
|
||||
sudo ln -sf $$cwd/$$f; \
|
||||
done
|
||||
cd $(INSTALL_EXEDIR) && { \
|
||||
echo " sudo ln -sf $$cwd/$$f" ; \
|
||||
sudo ln -sf $$cwd/$$f; \
|
||||
}; \
|
||||
done ;\
|
||||
echo "o in $(INSTALL_HDRDIR):" ;\
|
||||
find include -name '*.h' | \
|
||||
sed 's%^\./%%' | \
|
||||
while read f; do \
|
||||
cd $(INSTALL_HDRDIR) && { \
|
||||
echo " sudo ln -sf $$cwd/$$f" ; \
|
||||
sudo ln -sf $$cwd/$$f; \
|
||||
}; \
|
||||
done; \
|
||||
echo "o in $(INSTALL_MAKEDIR):" ;\
|
||||
find make -name '*.mk' | \
|
||||
sed 's%^\./%%' | \
|
||||
while read f; do \
|
||||
cd $(INSTALL_MAKEDIR) && { \
|
||||
echo " sudo ln -sf $$cwd/$$f" ; \
|
||||
sudo ln -sf $$cwd/$$f; \
|
||||
}; \
|
||||
done; \
|
||||
|
|
|
|||
|
|
@ -84,6 +84,11 @@ _ytools_source_section()
|
|||
eval `_ytools_cat_section $* | _ytools_format_config`
|
||||
}
|
||||
|
||||
_uniq()
|
||||
{
|
||||
sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P'
|
||||
}
|
||||
|
||||
# -- exported utilities
|
||||
ytools_log_err()
|
||||
{
|
||||
|
|
@ -306,12 +311,12 @@ ytools_config_sections()
|
|||
sed "
|
||||
/^[ ]*\[$o_section\.\(.*\)\]/ !d
|
||||
s/^[ ]*\[$o_section\.\(.*\)\].*/\1/
|
||||
" $o_file 2>/dev/null | sort -u
|
||||
" $o_file 2>/dev/null | _uniq
|
||||
else
|
||||
sed "
|
||||
/^[ ]*\[\(.*\)\]/ !d
|
||||
s/^[ ]*\[\(.*\)\].*/\1/
|
||||
" $o_file 2>/dev/null | sort -u
|
||||
" $o_file 2>/dev/null | _uniq
|
||||
fi
|
||||
|
||||
else
|
||||
|
|
@ -320,12 +325,12 @@ ytools_config_sections()
|
|||
sed "
|
||||
/^[ ]*\[$o_section\.\([^.]*\)\]/ !d
|
||||
s/^[ ]*\[$o_section\.\([^.]*\)\].*/\1/
|
||||
" $o_file 2>/dev/null | sort -u
|
||||
" $o_file 2>/dev/null | _uniq
|
||||
else
|
||||
sed "
|
||||
/^[ ]*\[\([^.]*\)\]/ !d
|
||||
s/^[ ]*\[\([^.]*\)\].*/\1/
|
||||
" $o_file 2>/dev/null | sort -u
|
||||
" $o_file 2>/dev/null | _uniq
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue