mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
Everywhere: Remove everything non-essential for "make clean all"
This commit removes everything not strictly necessary for running "make clean all" inside jw-build. packaging jw-devtest. This cuts the repo down from 24077 to 4725 lines of code. The idea is to 1) Further remove bloat from the remaining bits 2) Re-add what's necessary to build and package other essential repos. The decision should be based on whether or not jw-build can also be useful in a non-janware context. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
c36c83c164
commit
bc883deed4
199 changed files with 0 additions and 18851 deletions
|
|
@ -1,49 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
CONFIG_ACDONE := $(wildcard config.acdone)
|
||||
DISTCLEAN += configure config.log autoscan.log configure.ac config.status
|
||||
AC_FILES_IN = $(shell find . -maxdepth 2 -name '*.in' | grep -ve "contrib\|dist\|nomake")
|
||||
AC_FILES = $(basename $(AC_FILES_IN))
|
||||
|
||||
all: config.acdone make_all
|
||||
config: config.acdone $(AC_FILES)
|
||||
install: config $(AC_FILES) make_install
|
||||
distclean: confclean acclean
|
||||
rpm-release: config.acdone make_rpm_release
|
||||
|
||||
make_all: config $(AC_FILES)
|
||||
if [ -z "$(CONFIG_ACDONE)" ]; then make all; fi
|
||||
make_rpm_release: config $(AC_FILES)
|
||||
if [ -z "$(CONFIG_ACDONE)" ]; then make rpm-release; fi
|
||||
make_install:
|
||||
if [ -z "$(CONFIG_ACDONE)" ]; then make $@; fi
|
||||
confclean:
|
||||
$(RM) -rf $(DISTCLEAN) $(CLEAN) $(AC_FILES) autom4te.cache
|
||||
|
||||
configure.ac: configure.ac.tmpl VERSION
|
||||
$(CAT) $< | $(SED) -e "s/_VERSION_/`$(CAT) VERSION | $(SED) 's/-dev//'`/" > $@
|
||||
|
||||
configure: configure.ac
|
||||
autoconf $< > $@
|
||||
chmod 755 $@
|
||||
|
||||
config.status: configure
|
||||
./configure --no-create $(CONFIGURE_OPTS)
|
||||
|
||||
config.acdone: config.status
|
||||
./config.status
|
||||
touch $@
|
||||
|
||||
$(TOPDIR)/make/%.mk: $(TOPDIR)/make/%.mk.in config.status
|
||||
./config.status $@
|
||||
touch $@
|
||||
|
||||
$(TOPDIR)/include/%.h: $(TOPDIR)/include/%.h.in config.status
|
||||
./config.status $@
|
||||
touch $@
|
||||
|
||||
acclean:
|
||||
$(RM) -f *.acdone
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
BACKUP_SOURCE ?= .
|
||||
BACKUP_TARGET ?= ..
|
||||
BACKUP_DATE ?= $(shell date +'%y%m%d-%H%M%S')
|
||||
|
||||
_BACKUP_SOURCE = $(notdir $(shell cd $(BACKUP_SOURCE); $(PWD)))
|
||||
|
||||
ifndef BACKUP_MK_INCLUDED
|
||||
BACKUP_MK_INCLUDED = true
|
||||
|
||||
backup: distclean
|
||||
tar -C .. $(_BACKUP_SOURCE) -cjf $(BACKUP_TARGET)/$(_BACKUP_SOURCE)-$(BACKUP_DATE).tar.bz2
|
||||
|
||||
purge-last-backup:
|
||||
$(RM) -f $(shell ls $(BACKUP_TARGET)/$(_BACKUP_SOURCE)-*.tar.bz2 | tail -1)
|
||||
|
||||
endif # ifndef BACKUP_MK_INCLUDED
|
||||
12
make/bin.mk
12
make/bin.mk
|
|
@ -1,12 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2005 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
|
||||
all install:
|
||||
clean distclean:
|
||||
$(RM) -rf $(filter-out $(LOCAL_MKFILES) CVS debug release,$(wildcard *))
|
||||
test:
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
.NOTPARALLEL:
|
||||
|
||||
all: do.all
|
||||
install: do.install
|
||||
clean: do.clean
|
||||
distclean: do.distclean
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
SUBDIRS ?= $(FIND_SUBDIRS)
|
||||
|
||||
ifeq ($(FORCE_REBUILD_CLEANDIRS),true)
|
||||
SUBDIRS_ALL = $(SUBDIRS)
|
||||
SUBDIRS_INSTALL = $(SUBDIRS)
|
||||
else
|
||||
SUBDIRS_ALL ?=
|
||||
SUBDIRS_INSTALL ?=
|
||||
endif
|
||||
|
||||
do.all:
|
||||
set -e; for d in $(SUBDIRS_ALL); do make -wC $$d $*; done
|
||||
|
||||
do.install:
|
||||
set -e; for d in $(SUBDIRS_INSTALL); do make -wC $$d $*; done
|
||||
|
||||
do.%:
|
||||
set -e; for d in $(SUBDIRS); do make -wC $$d $*; done
|
||||
$(RM) -rf $(TEXTCLEAN) $(CLEAN) *.done *~ .*.swp *.tmp core *.rep dirs-*.done
|
||||
23
make/conf.mk
23
make/conf.mk
|
|
@ -1,23 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
all:
|
||||
clean: clean.conf
|
||||
install: install_CFG install_files_SYSCFG install_files_LOGROT install_files_CRONTAB install_files_RSYSLOG \
|
||||
install_files_APACHE_CONF install_files_SYSTEMD install_files_INIT install_files_TMPFILES $(CONF_D)
|
||||
test:
|
||||
|
||||
clean.conf:
|
||||
$(RM) -rf *~ .*.swp *.done
|
||||
|
||||
ifneq ($(CONFIG_SUBDIR),)
|
||||
$(INSTALLED_CFG): $(INSTALL_CFGDIR)
|
||||
endif
|
||||
|
||||
ifneq ($(CONF_D),)
|
||||
INSTALLED_CONF_D = $(addprefix $(INSTALL_CFGDIR)/,$(CONF_D))
|
||||
$(INSTALL_CFGDIR)/$(CONF_D):
|
||||
$(INSTALL) -d -m $(CFGDIRMODE) -o $(CFGDIROWNER) -g $(CFGDIRGROUP) $@
|
||||
install: $(INSTALLED_CONF_D)
|
||||
endif
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2005 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
LOCAL_PATCHES = $(notdir $(CFG_PATCHES))
|
||||
LOCAL_PATCH_DONE = $(addsuffix .done, $(LOCAL_PATCHES))
|
||||
|
||||
ifndef CFG_PATCH_COMMAND
|
||||
CFG_PATCH_COMMAND=(cd $(CFG_WORKING_DIR); patch -p1)
|
||||
endif
|
||||
|
||||
all: apply-patches.done $(CFG_BUILD)
|
||||
ifndef CFG_BUILD
|
||||
make -C $(CFG_WORKING_DIR) all
|
||||
endif
|
||||
|
||||
install: all $(CFG_INSTALL)
|
||||
ifndef CFG_INSTALL
|
||||
make -C $(CFG_WORKING_DIR) install
|
||||
endif
|
||||
|
||||
clean: $(CFG_CLEAN)
|
||||
ifndef CFG_CLEAN
|
||||
if [ -d "$(CFG_WORKING_DIR)" ]; then make -C $(CFG_WORKING_DIR) clean; fi
|
||||
endif
|
||||
|
||||
unpack.done:
|
||||
tar -xzf $(CFG_PKG)
|
||||
touch $@
|
||||
|
||||
$(LOCAL_PATCHES): $(filter %$@,$(CFG_PATCHES))
|
||||
cp $(filter %$@,$(CFG_PATCHES)) $@
|
||||
|
||||
%.patch.done: %.patch
|
||||
$(CFG_PATCH_COMMAND) < $<
|
||||
touch $@
|
||||
|
||||
apply-patches.done: unpack.done $(LOCAL_PATCH_DONE)
|
||||
touch $@
|
||||
|
||||
install:
|
||||
distclean:
|
||||
$(RM) -rf *.done *.patch $(CFG_WORKING_DIR)
|
||||
|
||||
unpack: unpack.done
|
||||
apply-patches: apply-patches.done
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
ifndef CPP_EXTRA_TARGETS_MK_INCLUDED
|
||||
CPP_EXTRA_TARGETS_MK_INCLUDED = true
|
||||
|
||||
all:
|
||||
expand-macros:
|
||||
make 2>/dev/null | sed '/$(CC)\|$(CXX)/ !d; s/$(CC)\|$(CXX)//; s/-o .*//' | grep -v "Wl\|rdynamic" | xargs $(CXX) -E -C | indent
|
||||
|
||||
endif # ifndef CPP_EXTRA_TARGETS_MK_INCLUDED
|
||||
|
|
@ -1 +0,0 @@
|
|||
include $(JWBDIR)/make/tools.mk
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
all:
|
||||
clean: clean.conf
|
||||
install: install_CFG install_files_SYSCFG install_files_LOGROT $(CONF_D)
|
||||
|
||||
clean.conf:
|
||||
$(RM) -rf *~ .*.swp *.done
|
||||
|
||||
ifneq ($(CONFIG_SUBDIR),)
|
||||
$(INSTALLED_CFG): $(INSTALL_CFGDIR)
|
||||
|
||||
$(INSTALL_CFGDIR):
|
||||
install -d -m $(CFGDIRMODE) -d $(CFGDIROWNER) -g $(CFGDIRGROUP) $@
|
||||
endif
|
||||
|
||||
ifneq ($(CONF_D),)
|
||||
INSTALLED_CONF_D = $(addprefix $(INSTALL_CFGDIR)/,$(CONF_D))
|
||||
$(INSTALL_CFGDIR)/$(CONF_D):
|
||||
install -d -m $(CFGDIRMODE) -d $(CFGDIROWNER) -g $(CFGDIRGROUP) $@
|
||||
install: $(INSTALLED_CONF_D)
|
||||
endif
|
||||
44
make/dav.mk
44
make/dav.mk
|
|
@ -1,44 +0,0 @@
|
|||
DAV_GROUP ?= jannet
|
||||
DAV_GROUP_PROJECT ?= $(PROJECT_DIRNAME)
|
||||
DAV_GROUP_PROJECT_GROUP ?= $(shell id -gn)
|
||||
DAV_GROUP_PROJECT_USER ?= $(shell id -un)
|
||||
DAV_SERVER ?= cvs.janware.com
|
||||
DAV_RSYNC_SERVER ?= $(DAV_SERVER)
|
||||
DAV_RSYNC_DIR ?= /srv/dav/pub/groups/$(DAV_GROUP)/$(DAV_GROUP_PROJECT)
|
||||
DAV_RSYNC_URL = $(DAV_RSYNC_SERVER):$(DAV_RSYNC_DIR)
|
||||
DAV_RSYNC_EXCLUDE ?= $(shell bash $(JWB_SCRIPT_DIR)/scm.sh ls-files)
|
||||
DAV_RSYNC_EXCLUDE_OPTS = $(addprefix --exclude , $(DAV_RSYNC_EXCLUDE) '*.done')
|
||||
DAV_RSYNC_EXTRA_OPTS ?=
|
||||
DAV_RSYNC ?= rsync $(DAV_RSYNC_EXCLUDE_OPTS)
|
||||
DAV_RSYNC_MODE ?= 664
|
||||
DAV_RSYNC_DIRMODE ?= 775
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
all:
|
||||
install:
|
||||
clean:
|
||||
distclean: dav.clean
|
||||
|
||||
upload: upload.done
|
||||
dload download: dload.done
|
||||
delete-remote:
|
||||
ssh $(DAV_RSYNC_SERVER) $(RM) -rf $(DAV_RSYNC_DIR)
|
||||
|
||||
upload.done:
|
||||
$(DAV_RSYNC) \
|
||||
--chmod F$(DAV_RSYNC_MODE) \
|
||||
--chmod D$(DAV_RSYNC_DIRMODE) \
|
||||
--chown $(DAV_GROUP_PROJECT_USER):$(DAV_GROUP_PROJECT_GROUP) \
|
||||
-av \
|
||||
$(DAV_RSYNC_EXTRA_OPTS) \
|
||||
./ \
|
||||
$(DAV_RSYNC_URL)/
|
||||
touch $@
|
||||
|
||||
dload.done:
|
||||
$(DAV_RSYNC) -av $(DAV_RSYNC_URL)/ ./
|
||||
touch $@
|
||||
|
||||
dav.clean:
|
||||
$(RM) -f upload.done dload.done
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
CORE_IGNORE := $(wildcard *.intern-state*)
|
||||
CORE_VG ?= $(firstword $(filter-out $(CORE_IGNORE),$(wildcard vgcore vgcore.*)))
|
||||
CORE_REGULAR ?= $(firstword $(filter-out $(CORE_IGNORE),$(wildcard core core.*)))
|
||||
CORE ?= $(firstword $(CORE_VG) $(CORE_REGULAR))
|
||||
|
||||
ifneq ($(CORE),)
|
||||
ifneq ($(CORE),$(CORE_VG)) # trick doesn't work on valgrind cores
|
||||
CORE_DUMPER = $(shell echo -e "quit" | $(DEBUGGER) --core=$(CORE) 2>&1 | \
|
||||
$(SED) '/Core was generated/ !d; s/Core was generated by `//; s/ .*//; s/\x27\.$$//')
|
||||
else
|
||||
CORE_DUMPER = $(EXE_PATH)
|
||||
endif
|
||||
else ifeq ($(CORE_DUMPER),)
|
||||
CORE_DUMPER = $(EXE_PATH)
|
||||
endif
|
||||
|
||||
PID = $(shell pidof $(EXE_PATH))
|
||||
|
||||
all:
|
||||
distclean: distclean.debugger
|
||||
|
||||
distclean.debugger:
|
||||
rm -f .gdb_history
|
||||
|
||||
gdb ddd:
|
||||
ifneq ($(CORE),)
|
||||
$@ --core=$(CORE) --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
else
|
||||
$@ --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
endif
|
||||
|
||||
lldb:
|
||||
ifneq ($(CORE),)
|
||||
$@ --core $(CORE) -f $(CORE_DUMPER) -- $(EXE_ARGS)
|
||||
else
|
||||
$@ -f $(CORE_DUMPER) -- $(EXE_ARGS)
|
||||
endif
|
||||
|
||||
kdbg:
|
||||
$@ $(CORE_DUMPER) $(CORE) -a "$(EXE_ARGS)"
|
||||
|
||||
cgdb:
|
||||
ifneq ($(CORE),)
|
||||
$@ -- --core=$(CORE) --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
else
|
||||
$@ -- --args $(CORE_DUMPER) $(EXE_ARGS)
|
||||
endif
|
||||
|
||||
attach:
|
||||
$(DEBUGGER) $(EXE_PATH) -p $(PID)
|
||||
|
||||
attach-lldb:
|
||||
lldb $(EXE_PATH) -p $(PID)
|
||||
|
||||
attach-gdb:
|
||||
gdb $(EXE_PATH) -p $(PID)
|
||||
|
||||
attach-ddd:
|
||||
ddd $(EXE_PATH) -p $(PID)
|
||||
|
||||
attach-strace:
|
||||
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
|
||||
cp `ls -rt /var/cores/*core* 2>/dev/null | tail -1` .
|
||||
|
||||
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* /var/cores/vgcore* || exit 0
|
||||
echo-pid:
|
||||
@echo PID = $(PID)
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
all:
|
||||
|
||||
DC_EXT ?= xz bzip2 gz zip
|
||||
DC_COMPRESSED_ALL ?= $(foreach ext,$(DC_EXT),$(wildcard *.$(ext)))
|
||||
DC_UNCOMPRESSED_ALL ?= $(foreach patt,$(DC_EXT),$(patsubst %.$(patt),%,$(wildcard *.$(patt))))
|
||||
|
||||
all: $(DC_UNCOMPRESSED_ALL)
|
||||
clean: clean.uncompressed
|
||||
clean.uncompressed:
|
||||
rm -f $(DC_UNCOMPRESSED_ALL)
|
||||
|
||||
%: %.xz
|
||||
xz -dk $<
|
||||
%: %.gz
|
||||
gunzip -k $<
|
||||
%: %.bzip2
|
||||
bunzip -k $<
|
||||
%: %.zip
|
||||
unzip $<
|
||||
808
make/defs-cpp.mk
808
make/defs-cpp.mk
|
|
@ -1,808 +0,0 @@
|
|||
ifndef JW_BUILD_CPP_DEFS_MK_INCLUDED
|
||||
JW_BUILD_CPP_DEFS_MK_INCLUDED := true
|
||||
|
||||
# performance optimization for clean targets
|
||||
ifeq ($(filter clean distclean,$(MAKECMDGOALS)),)
|
||||
|
||||
# -- default choices
|
||||
|
||||
#COMPILER_SUITE ?= clang
|
||||
COMPILER_SUITE ?= gcc
|
||||
CPP_STANDARD_VERSION ?= 17
|
||||
C_STANDARD_VERSION ?= 11
|
||||
USE_PROJECT_LIB ?= true
|
||||
EXPORT_PROJECT_LIB ?= $(USE_PROJECT_LIB)
|
||||
USE_JW_BUILD ?= true
|
||||
USE_EXCEPTIONS_IN_C ?= true
|
||||
USE_COMPILER_OPTIMIZATION_OPTS ?= false
|
||||
USE_COMPILER_DEBUG_OPTS ?= true
|
||||
USE_VERSION_MACROS ?= true
|
||||
COMPILE_DEBUG_CODE ?= true
|
||||
|
||||
ifeq ($(findstring $(TARGET_OS),linux),)
|
||||
USE_SYSTEMD := false
|
||||
endif
|
||||
|
||||
ifeq ($(USE_CCACHE),true)
|
||||
CCACHE := ccache$(space)
|
||||
endif
|
||||
|
||||
# -- build TAGGED_TMPL_TAGS cascade
|
||||
|
||||
TAGGED_TMPL_MAKEFILES = $(wildcard $(addsuffix .mk,$(foreach t,$(TAGGED_TMPL_DIRS),$(addprefix $(t)/,$(TAGGED_TMPL_TAGS)))))
|
||||
|
||||
# TODO: maybe push this whome MCU-specific stuff somewhere else
|
||||
ifneq ($(findstring st-nucleo-f103rb,$(TAGGED_TMPL_TAGS)),)
|
||||
TAGGED_TMPL_TAGS += cortex-m3
|
||||
MCU_BOARD_MODEL ?= ST-NUCLEO-F103RB
|
||||
FINAL_CPPFLAGS += -DST_NUCLEO_F103RB
|
||||
MCU_FLASH_OFFSET ?= 0x0000000
|
||||
MCU_FLASH_SIZE ?= 0x5000
|
||||
MCU_MEM_FETCH_OFFSET ?= 0x08000000
|
||||
MCU_MEM_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
#MCU_OPENOCD_CFG_NAME ?= openocd-$(MCU_BOARD_LC).cfg
|
||||
ifneq ($(findstring j-link,$(TAGGED_TMPL_TAGS)),)
|
||||
MCU_OPENOCD_CFG_NAME ?= openocd-st-nucleo-f103rb-jlink.cfg
|
||||
else
|
||||
MCU_OPENOCD_CFG_NAME ?= openocd-st-nucleo-f103rb.cfg
|
||||
endif
|
||||
MODM_BSPS += modm:nucleo-f103rb
|
||||
MCU_FLASH_BANK_NAME ?= internal
|
||||
ifneq ($(MCU_FLASH_BANK_NAME),internal)
|
||||
$(error Unsupported flash bank name "$(MCU_FLASH_BANK_NAME)")
|
||||
endif
|
||||
else ifneq ($(findstring st-disc1-f429i,$(TAGGED_TMPL_TAGS)),)
|
||||
TAGGED_TMPL_TAGS += cortex-m4
|
||||
MCU_BOARD_MODEL ?= ST-DISC1-F429I
|
||||
FINAL_CPPFLAGS += -DST_DISC1_F429I
|
||||
#MCU_OPENOCD_CFG_NAME ?= openocd-st-stm32f429disc1.cfg
|
||||
MCU_OPENOCD_CFG_NAME ?= openocd-st-stm32f429discovery.cfg
|
||||
MCU_FLASH_BANK_NAME ?= internal
|
||||
ifeq ($(MCU_FLASH_BANK_NAME),internal)
|
||||
MCU_FLASH_OFFSET ?= 0x00000000
|
||||
MCU_FLASH_SIZE ?= 0x00200000
|
||||
MCU_MEM_FETCH_OFFSET ?= 0x08000000
|
||||
MCU_MEM_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
else ifeq ($(MCU_FLASH_BANK_NAME),otp)
|
||||
MCU_FLASH_OFFSET ?= 0x00000000
|
||||
MCU_FLASH_SIZE ?= 0x00000200
|
||||
MCU_MEM_FETCH_OFFSET ?= 0x1fff7800
|
||||
MCU_MEM_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
else
|
||||
$(error Unsupported flash bank name "$(MCU_FLASH_BANK_NAME)")
|
||||
endif
|
||||
ifeq ($(MCU_OPENOCD_CFG_NAME),openocd-st-stm32f429disc1.cfg)
|
||||
ifeq ($(MCU_FLASH_BANK_NAME),internal)
|
||||
MCU_FLASH_BANK ?= 1
|
||||
endif
|
||||
else ifeq ($(MCU_OPENOCD_CFG_NAME),openocd-st-stm32f429discovery.cfg)
|
||||
ifeq ($(MCU_FLASH_BANK_NAME),internal)
|
||||
MCU_FLASH_BANK ?= 1
|
||||
endif
|
||||
endif
|
||||
|
||||
# modm:disco-f769ni (SIC), not disco-f769i. mbed does the same, despite the
|
||||
# fact that a board of this name doesn't exist.
|
||||
MODM_BSPS += modm:disco-f429zi
|
||||
else ifneq ($(findstring st-disco-f769i,$(TAGGED_TMPL_TAGS)),)
|
||||
TAGGED_TMPL_TAGS += cortex-m7
|
||||
MCU_BOARD_MODEL ?= ST-DISCO-F769I
|
||||
FINAL_CPPFLAGS += -DST_DISCO_F769I
|
||||
ifneq ($(findstring j-link,$(TAGGED_TMPL_TAGS)),)
|
||||
MCU_OPENOCD_CFG_NAME ?= openocd-stmqspi-st-stm32f769i-disco-jlink.cfg
|
||||
else
|
||||
MCU_OPENOCD_CFG_NAME ?= openocd-stmqspi-st-stm32f769i-disco.cfg
|
||||
endif
|
||||
MCU_FLASH_BANK_NAME ?= external
|
||||
ifeq ($(MCU_FLASH_BANK_NAME),external)
|
||||
MCU_FLASH_OFFSET ?= 0x00000000
|
||||
MCU_FLASH_SIZE ?= 0x04000000
|
||||
MCU_MEM_FETCH_OFFSET ?= 0x90000000
|
||||
MCU_MEM_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
else ifeq ($(MCU_FLASH_BANK_NAME),internal)
|
||||
MCU_FLASH_OFFSET ?= 0x00000000
|
||||
MCU_FLASH_SIZE ?= 0x00200000
|
||||
MCU_MEM_FETCH_OFFSET ?= 0x08000000
|
||||
MCU_MEM_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
else
|
||||
$(error Unsupported flash bank name "$(MCU_FLASH_BANK_NAME)")
|
||||
endif
|
||||
ifeq ($(MCU_OPENOCD_CFG_NAME),openocd-stmqspi-st-stm32f769i-disco.cfg)
|
||||
ifeq ($(MCU_FLASH_BANK_NAME),external)
|
||||
MCU_FLASH_BANK ?= 1
|
||||
else ifeq ($(MCU_FLASH_BANK_NAME),internal)
|
||||
MCU_FLASH_BANK ?= 0
|
||||
endif
|
||||
else ifeq ($(MCU_OPENOCD_CFG_NAME),openocd-st-stm32f7discovery.cfg)
|
||||
ifeq ($(MCU_FLASH_BANK_NAME),external)
|
||||
MCU_FLASH_BANK ?= 2
|
||||
endif
|
||||
endif
|
||||
|
||||
# modm:disco-f769ni (SIC), not disco-f769i. mbed does the same, despite the
|
||||
# fact that a board of this name doesn't exist.
|
||||
MODM_BSPS += modm:disco-f769ni
|
||||
else
|
||||
MCU_OPENOCD_CFG_NAME ?= openocd-$(MCU_BOARD_LC).cfg
|
||||
endif
|
||||
|
||||
ifneq ($(findstring cortex-m,$(TAGGED_TMPL_TAGS)),)
|
||||
TAGGED_TMPL_TAGS += cortex-m
|
||||
ifneq ($(findstring cortex-m3,$(TAGGED_TMPL_TAGS)),)
|
||||
TARGET_CPU = cortex-m3
|
||||
else ifneq ($(findstring cortex-m4,$(TAGGED_TMPL_TAGS)),)
|
||||
TARGET_CPU = cortex-m4
|
||||
else ifneq ($(findstring cortex-m7,$(TAGGED_TMPL_TAGS)),)
|
||||
TARGET_CPU = cortex-m7
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(findstring cortex,$(TAGGED_TMPL_TAGS)),)
|
||||
TAGGED_TMPL_TAGS += cortex
|
||||
endif
|
||||
|
||||
# ----- tool chain
|
||||
|
||||
ifneq ($(TARGET_TRIPLET),$(HOST_TRIPLET)) # we're cross-compiling
|
||||
|
||||
TC_BIN_PREFIX ?= $(TARGET_TRIPLET)-
|
||||
TC_SYS_ROOT ?= /usr/$(TARGET_TRIPLET)
|
||||
|
||||
ifeq ($(TARGET),mingw)
|
||||
|
||||
ifneq ($(wildcard $(TC_BIN_PREFIX)gcc),)
|
||||
CROSS_TOOL_DIR ?=
|
||||
TC_SYS_ROOT ?= /usr/$(TARGET_TRIPLET)/sys-root/mingw
|
||||
else
|
||||
CROSS_TOOL_DIR ?= /opt/cross-tools
|
||||
TC_BIN_PREFIX ?= $(CROSS_TOOL_DIR)/bin/i686-pc-mingw32-
|
||||
endif
|
||||
|
||||
FINAL_CPPFLAGS += -D_WINDOWS
|
||||
FINAL_LDFLAGS += -lws2_32
|
||||
WINDRES ?= $(TC_BIN_PREFIX)windres
|
||||
USE_GFILTER ?= false
|
||||
MS_LD ?= wine $(HOME)/local/mingw/packages/msvcpp/bin/LIB.EXE
|
||||
endif
|
||||
|
||||
#FINAL_CPPFLAGS += -I$(TC_SYS_ROOT)/include
|
||||
#FINAL_LDFLAGS += -L$(TC_SYS_ROOT)/lib
|
||||
|
||||
else # we're not cross-compiling
|
||||
|
||||
TC_SYS_ROOT ?= /usr
|
||||
FINAL_LIBFLAGS += -pthread
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILER_SUITE),gcc)
|
||||
|
||||
GCC ?= $(CCACHE)$(TC_BIN_PREFIX)gcc
|
||||
GXX ?= $(CCACHE)$(TC_BIN_PREFIX)g++
|
||||
GNU_LD ?= $(TC_BIN_PREFIX)ld
|
||||
CLANG ?= $(CCACHE)$(TC_BIN_PREFIX)clang
|
||||
CLANGPP ?= $(CCACHE)$(TC_BIN_PREFIX)clang++
|
||||
STRIP ?= $(TC_BIN_PREFIX)strip
|
||||
RANLIB ?= $(TC_BIN_PREFIX)ranlib
|
||||
AR ?= $(TC_BIN_PREFIX)ar
|
||||
PKG_CONFIG_EXE ?= $(TC_BIN_PREFIX)pkg-config
|
||||
CPP_FILT ?= $(TC_BIN_PREFIX)c++filt
|
||||
OBJCOPY ?= $(TC_BIN_PREFIX)objcopy
|
||||
OBJDUMP ?= $(TC_BIN_PREFIX)objdump
|
||||
|
||||
# compiler and linker
|
||||
# gcc
|
||||
GCC_VERSION := $(shell $(GCC) -v 2>&1 | $(SED) '/gcc.version/I !d; s/.*version *//I; s/ \+.*//')
|
||||
GCC_VERSION_NUMBERS := $(subst ., ,$(GCC_VERSION))
|
||||
GCC_MAJOR := $(word 1,$(GCC_VERSION_NUMBERS))
|
||||
GCC_MINOR := $(word 2,$(GCC_VERSION_NUMBERS))
|
||||
GCC_REV := $(word 3,$(GCC_VERSION_NUMBERS))
|
||||
|
||||
# Not needed anywhere
|
||||
#GNU_LD_VERSION := $(shell $(LD) -V | $(SED) '/GNU ld/ !d; s/(.*)//; s/[^0-9.-]*//')
|
||||
#GNU_LD_VERSION_NUMBERS := $(subst ., ,$(GNU_LD_VERSION))
|
||||
#GNU_LD_MAJOR := $(word 1,$(GNU_LD_VERSION_NUMBERS))
|
||||
#GNU_LD_MINOR := $(word 2,$(GNU_LD_VERSION_NUMBERS))
|
||||
#GNU_LD_REV := $(word 3,$(GNU_LD_VERSION_NUMBERS))
|
||||
|
||||
CC = $(GCC)
|
||||
CXX = $(GXX)
|
||||
LD = $(GXX)
|
||||
|
||||
FINAL_CXXFLAGS += -std=c++$(CPP_STANDARD_VERSION)
|
||||
FINAL_CFLAGS += -std=gnu$(C_STANDARD_VERSION)
|
||||
|
||||
ifeq ($(shell $(TEST) $(GCC_MAJOR) -ge 5; $(ECHO) $$?),0)
|
||||
ifeq ($(USE_CPP_FORCE_OVERRIDE),true)
|
||||
GCC_CXXFLAGS += -Werror=suggest-override
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(GCC_MAJOR),2)
|
||||
FINAL_LPPFLAGS += -lm
|
||||
FINAL_CPPFLAGS += -I/usr/local/include
|
||||
else ifeq ($(GCC_MAJOR),3)
|
||||
ifeq ($(GCC_MINOR),3)
|
||||
FINAL_LPPFLAGS += -lgcc_s
|
||||
# FINAL_LPPFLAGS += -L/usr/local/gcc3.3/lib
|
||||
endif
|
||||
else
|
||||
FINAL_CPPFLAGS += -DGCC_HASCLASSVISIBILITY
|
||||
endif
|
||||
|
||||
else ifeq ($(COMPILER_SUITE),clang)
|
||||
|
||||
# clang
|
||||
CLANG_CXXFLAGS += -Wno-unused-private-field -Wno-self-assign-field -Wno-overloaded-virtual
|
||||
CC = $(CLANG)
|
||||
CXX = $(CLANGPP)
|
||||
LD = $(CLANGPP)
|
||||
|
||||
ifeq ($(USE_CPP_WARN_INCONSISTENT_OVERRIDE),true)
|
||||
CLANG_CXXFLAGS += -Winconsistent-missing-override
|
||||
endif
|
||||
|
||||
endif # COMPILER_SUITE
|
||||
|
||||
# -- jw-build variables based on arch and toolchain
|
||||
|
||||
ifeq ($(TARGET_TRIPLET),arm-none-eabi)
|
||||
LIBTYPE ?= static
|
||||
else
|
||||
LIBTYPE ?= shared
|
||||
endif
|
||||
|
||||
INTEL_ARCHS := i386 i486 i586 i686 x86_64
|
||||
|
||||
ifneq ($(findstring $(TARGET_ARCH),$(INTEL_ARCHS)),)
|
||||
TAGGED_TMPL_TAGS += x86
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILER_SUITE),gcc)
|
||||
DEBUGGER ?= gdb
|
||||
FINAL_EXTRA_DEBUG_FLAGS += -ggdb
|
||||
else ifeq ($(COMPILER_SUITE),clang)
|
||||
DEBUGGER = lldb
|
||||
endif
|
||||
|
||||
# -- gather compiler options in BUILD_XXXFLAGS
|
||||
|
||||
FINAL_CFLAGS += $(CFLAGS)
|
||||
FINAL_CXXFLAGS += $(CXXFLAGS)
|
||||
FINAL_CPPFLAGS += $(CPPFLAGS)
|
||||
FINAL_LDFLAGS += $(LDFLAGS)
|
||||
|
||||
FINAL_CPPFLAGS += -D_FILE_OFFSET_BITS=64 -Wall -Wno-unused-value -Wno-deprecated -DPROJECT_STR=\"$(PROJECT)\"
|
||||
FINAL_LDFLAGS += -Wall
|
||||
|
||||
ifeq ($(TARGET_ARCH),$(ARCH_32))
|
||||
FINAL_CPPFLAGS += -m32
|
||||
FINAL_LDFLAGS += -m32
|
||||
endif
|
||||
|
||||
ifneq ($(findstring $(TARGET_ARCH),$(INTEL_ARCHS)),)
|
||||
FINAL_CPPFLAGS += -fPIC
|
||||
ifeq ($(findstring mingw,$(TARGET_ABI)),)
|
||||
ifeq ($(LIBTYPE),shared)
|
||||
FINAL_LIBFLAGS += -ldl
|
||||
else
|
||||
FINAL_LIBFLAGS += -l:libdl.a
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_ARCH),armv7hl)
|
||||
FINAL_CPPFLAGS += -fPIC
|
||||
else ifeq ($(TARGET_ARCH),aarch64)
|
||||
FINAL_CPPFLAGS += -fPIC
|
||||
endif
|
||||
|
||||
ifeq ($(DEVELOPMENT),true)
|
||||
FINAL_CPPFLAGS += -D_DEVELOPMENT_
|
||||
export G_SLICE = always-malloc
|
||||
export G_DEBUG = gc-friendly,resident-modules
|
||||
export MALLOC_CHECK_ = 2
|
||||
endif
|
||||
|
||||
ifneq ($(LOG_QUAL_PREFIX),)
|
||||
FINAL_CPPFLAGS += -DKEEP_FILES_OPEN -DLOG_QUAL_PREFIX=\"$(LOG_QUAL_PREFIX)\"
|
||||
endif
|
||||
|
||||
ifeq ($(CATCH_ONLY_YERROR),true)
|
||||
FINAL_CPPFLAGS += -DCATCH_ONLY_YERROR
|
||||
endif
|
||||
|
||||
ifeq ($(USE_VERSION_MACROS),true)
|
||||
FINAL_CPPFLAGS += -DVERSION=$(HEX_VERSION) -DVERSION_STR=\"$(VERSION)\"
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_TRIPLET),arm-none-eabi)
|
||||
|
||||
ifeq ($(TARGET_CPU),cortex-m3)
|
||||
FINAL_CPPFLAGS += -mcpu=cortex-m3 -mthumb
|
||||
FINAL_LDFLAGS += -mcpu=cortex-m3 -mthumb
|
||||
else ifeq ($(TARGET_CPU),cortex-m4)
|
||||
FINAL_CPPFLAGS += -mcpu=cortex-m4 -mthumb
|
||||
FINAL_LDFLAGS += -mcpu=cortex-m4 -mthumb
|
||||
else ifeq ($(TARGET_CPU),cortex-m7)
|
||||
FINAL_CPPFLAGS += -mcpu=cortex-m7 -mthumb
|
||||
FINAL_LDFLAGS += -mcpu=cortex-m7 -mthumb
|
||||
endif
|
||||
|
||||
ifneq ($(findstring cortex-m,$(TARGET_CPU)),)
|
||||
|
||||
# don't wrap error message lines
|
||||
#FINAL_LDFLAGS += -fmessage-length=0
|
||||
|
||||
# don't know what kind of optimization that is
|
||||
#FINAL_LDFLAGS += -Og
|
||||
|
||||
# stick with what janware code tends to expect
|
||||
FINAL_LDFLAGS += -fsigned-char
|
||||
|
||||
# I have no clue which part would evaluate these names
|
||||
FINAL_LDFLAGS += -ffunction-sections
|
||||
FINAL_LDFLAGS += -fdata-sections
|
||||
FINAL_LDFLAGS += -ffreestanding
|
||||
FINAL_LDFLAGS += -fno-move-loop-invariants
|
||||
|
||||
# skip any automatic initialization
|
||||
FINAL_LDFLAGS += -nostartfiles
|
||||
|
||||
# garbage collect unused input sections
|
||||
FINAL_LDFLAGS += -Xlinker --gc-sections
|
||||
#FINAL_LDFLAGS += -Xlinker --print-gc-sections
|
||||
|
||||
# create map file
|
||||
FINAL_LDFLAGS += -Wl,-Map,"$(EXE_MAP)"
|
||||
|
||||
# use newlib-nano, provides symbols _write _close _fstat _isatty _lseek (at least)
|
||||
# (TODO: No -Wl necessary?)
|
||||
FINAL_LDFLAGS += --specs=nano.specs
|
||||
FINAL_LDFLAGS += --specs=nosys.specs
|
||||
|
||||
endif
|
||||
|
||||
USE_DISABLE_COMPILER_OPTIMISATION_OPTS = false
|
||||
USE_EXCEPTIONS_IN_C = false
|
||||
ARM_NONE_EABI_ALLFLAGS += -fno-exceptions
|
||||
ifeq ($(USE_DISABLE_COMPILER_OPTIMISATION_OPTS),true)
|
||||
ARM_NONE_EABI_ALLFLAGS += -Os
|
||||
endif
|
||||
FINAL_LDFLAGS += $(ARM_NONE_EABI_ALLFLAGS)
|
||||
FINAL_CPPFLAGS += $(ARM_NONE_EABI_ALLFLAGS)
|
||||
FINAL_CXXFLAGS += -fno-rtti
|
||||
|
||||
# -- used by modm, but currently disabled for test purposes
|
||||
#FINAL_CFLAGS += -fno-threadsafe-statics
|
||||
#FINAL_CFLAGS += -fno-unwind-tables
|
||||
#FINAL_CFLAGS += -fstrict-enums
|
||||
#FINAL_CFLAGS += -fuse-cxa-atexit
|
||||
#FINAL_CFLAGS += -fshort-wchar
|
||||
#FINAL_CFLAGS += -fsingle-precision-constant
|
||||
#FINAL_CFLAGS += -funsigned-bitfields
|
||||
#FINAL_CFLAGS += -funsigned-char
|
||||
#FINAL_CFLAGS += -fwrapv
|
||||
#FINAL_CFLAGS += -g3
|
||||
#FINAL_CFLAGS += -gdwarf
|
||||
#FINAL_CFLAGS += -W
|
||||
#FINAL_CFLAGS += -Wall
|
||||
#FINAL_CFLAGS += -Wdouble-promotion
|
||||
#FINAL_CFLAGS += -Wduplicated-cond
|
||||
#FINAL_CFLAGS += -Werror=format
|
||||
#FINAL_CFLAGS += -Werror=maybe-uninitialized
|
||||
#FINAL_CFLAGS += -Werror=overflow
|
||||
#FINAL_CFLAGS += -Werror=sign-compare
|
||||
#FINAL_CFLAGS += -Wextra
|
||||
#FINAL_CFLAGS += -Wlogical-op
|
||||
#FINAL_CFLAGS += -Wpointer-arith
|
||||
#FINAL_CFLAGS += -Wundef
|
||||
|
||||
|
||||
#FINAL_CXXFLAGS += -fdata-sections
|
||||
#FINAL_CXXFLAGS += -ffunction-sections
|
||||
#FINAL_CXXFLAGS += -finline-limit=10000
|
||||
#FINAL_CPPFLAGS += -fshort-wchar
|
||||
#FINAL_CPPFLAGS += -fsingle-precision-constant
|
||||
#FINAL_CPPFLAGS += -funsigned-bitfields
|
||||
#FINAL_CPPFLAGS += -funsigned-char
|
||||
#FINAL_CPPFLAGS += -fwrapv
|
||||
#FINAL_CPPFLAGS += -g3
|
||||
#FINAL_CPPFLAGS += -gdwarf
|
||||
#FINAL_CPPFLAGS += -W
|
||||
#FINAL_CPPFLAGS += -Wall
|
||||
#FINAL_CPPFLAGS += -Wdouble-promotion
|
||||
#FINAL_CPPFLAGS += -Wduplicated-cond
|
||||
#FINAL_CPPFLAGS += -Werror=format
|
||||
#FINAL_CPPFLAGS += -Werror=maybe-uninitialized
|
||||
#FINAL_CPPFLAGS += -Werror=overflow
|
||||
#FINAL_CPPFLAGS += -Werror=sign-compare
|
||||
#FINAL_CPPFLAGS += -Wextra
|
||||
#FINAL_CPPFLAGS += -Wlogical-op
|
||||
#FINAL_CXXFLAGS += -Wpointer-arith
|
||||
#FINAL_CPPFLAGS += -Wundef
|
||||
#FINAL_CXXFLAGS += -fno-threadsafe-statics
|
||||
#FINAL_CPPFLAGS += -fno-unwind-tables
|
||||
#FINAL_CXXFLAGS += -fstrict-enums
|
||||
#FINAL_CPPFLAGS += -fuse-cxa-atexit
|
||||
#FINAL_CXXFLAGS += -std=c++17
|
||||
#FINAL_CXXFLAGS += -Woverloaded-virtual
|
||||
#FINAL_CXXFLAGS += -fno-move-loop-invariants
|
||||
#FINAL_CPPFLAGS += -fno-split-wide-types
|
||||
#FINAL_CPPFLAGS += -fno-tree-loop-optimize
|
||||
|
||||
#FINAL_CPPFLAGS += -fno-exceptions
|
||||
#FINAL_CXXFLAGS += -fno-rtti
|
||||
|
||||
ifneq ($(findstring gnu-mcu-eclipse,$(TAGGED_TMPL_TAGS)),)
|
||||
LD_DEFINE_SYMBOLS += _sbrk
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
FINAL_LDFLAGS += $(addprefix -u ,$(LD_DEFINE_SYMBOLS))
|
||||
|
||||
# -- target files and dirs
|
||||
|
||||
SRC_SUFFIX += $(sort $(suffix $(wildcard $(TOPDIR)/hdr/*)))
|
||||
LOCAL_SRC += Makefile $(wildcard $(addprefix *,$(SRC_SUFFIX)))
|
||||
SRC_HEADERED += $(shell if [ "$(LOCAL_SRC)" ]; then grep -ic "it services" $(LOCAL_SRC) | $(SED) '/:0$$/ d; s/:.*$$//'; fi)
|
||||
SRC_UNHEADERED += $(filter-out $(SRC_HEADERED),$(LOCAL_SRC))
|
||||
LOCAL_C ?= $(wildcard *.c)
|
||||
LOCAL_CPP ?= $(wildcard *.cc *.cpp *.C)
|
||||
LOCAL_H ?= $(wildcard *.h *.H *.hpp *.hh)
|
||||
SFILES ?= $(wildcard *.S *.sx)
|
||||
#PREREQ_H += $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.h))
|
||||
ALL_H += $(LOCAL_H) $(PREREQ_H)
|
||||
SRC_ALL_CPP += $(filter-out $(SRC_ALL_CPP_IGNORE),$(LOCAL_C) $(LOCAL_CPP) $(LOCAL_H))
|
||||
SRC_C += $(filter %.c, $(SRC_ALL_CPP))
|
||||
SRC_CPP += $(filter %.cc %.cpp %.C, $(SRC_ALL_CPP))
|
||||
BUILD_OBJ += $(addprefix $(FLAVOUR_PREFIX),$(patsubst %.C,%.o,$(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(filter %.c %.cpp %.cc %.C, $(SRC_ALL_CPP)))))))
|
||||
BUILD_OBJ += $(addprefix $(FLAVOUR_PREFIX),$(patsubst %.sx,%.o,$(patsubst %.S,%.o,$(SFILES))))
|
||||
|
||||
#PREREQ_C += $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.c))
|
||||
#PREREQ_CPP += $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.c)) \
|
||||
# $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.cpp))
|
||||
#PREREQ_CSRC += $(PREREQ_H) $(PREREQ_C) $(PREREQ_CPP)
|
||||
REQUIRED_DIR += $(patsubst %,$(JWBDIR)/%,$(REQUIRED))
|
||||
REQUIRED_DONE += $(patsubst %,%/all.done,$(REQUIRED_DIR))
|
||||
REQUIRED_H += $(foreach dir,$(REQUIRED_DIR),$(wildcard $(dir)/*.h))
|
||||
REQUIRED_C += $(foreach dir,$(REQUIRED_DIR),$(wildcard $(dir)/*.c))
|
||||
REQUIRED_CPP += $(foreach dir,$(REQUIRED_DIR),$(wildcard $(dir)/*.cpp)) \
|
||||
$(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.cpp))
|
||||
REQUIRED_CSRC += $(REQUIRED_H) $(REQUIRED_C) $(REQUIRED_CPP)
|
||||
|
||||
ALL_C += $(LOCAL_C) $(PREREQ_CPP)
|
||||
ALL_CPP += $(LOCAL_CPP) $(PREREQ_CPP)
|
||||
ALL_CSRC += $(LOCAL_CSRC) $(PREREQ_CSRC)
|
||||
|
||||
ifeq ($(USE_QT),true)
|
||||
include $(JWBDIR)/make/qtversion.mk
|
||||
include $(JWBDIR)/make/qt-defs.mk
|
||||
endif
|
||||
|
||||
ifeq ($(USE_X),true)
|
||||
FINAL_LDFLAGS += -L/usr/X11/$(SYSTEM_LIBDIR_NAME) -lXext -lX11
|
||||
endif
|
||||
|
||||
ifneq ($(TARGET_TRIPLET),arm-none-eabi)
|
||||
FINAL_LPPFLAGS += -lstdc++
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET),mingw)
|
||||
FINAL_CPPFLAGS += -DWIN32
|
||||
# see https://stackoverflow.com/questions/4492799
|
||||
FINAL_LDFLAGS += -fstack-protector
|
||||
endif
|
||||
|
||||
ifeq ($(LOG_THREAD_NAMES), true)
|
||||
FINAL_CPPFLAGS += -DSLOG_THREAD_NAMES
|
||||
endif
|
||||
|
||||
# ----- standard features, switched on with USE_XXX = true
|
||||
|
||||
#include $(JWBDIR)/make/lib-deps.mk
|
||||
|
||||
ifeq ($(USE_GFILTER),true)
|
||||
GFILT = sh $(firstword $(wildcard $(JWBDIR)/contrib/gfilt/gfilt $(JWBDIR)/bin/gfilt))
|
||||
ifneq ($(strip $(GFILT)),sh)
|
||||
GXX = $(GFILT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PROJECT_LIB),true)
|
||||
PROJECTLIB_LDFLAGS += -L$(TOPDIR)/lib -l$(LIBNAME)
|
||||
endif
|
||||
|
||||
ifneq ($(filter jw-build,$(PREREQ_BUILD)),)
|
||||
ifeq ($(TARGET),mingw)
|
||||
JW_FINAL_LDFLAGS += -lglib-2.0 -lws2_32 -lstdc++
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_SYSTEMD),true)
|
||||
FINAL_CPPFLAGS += -D_USE_SYSTEMD_ $(shell $(PKG_CONFIG_EXE) --cflags libsystemd)
|
||||
FINAL_LDFLAGS += $(shell $(PKG_CONFIG_EXE) --libs libsystemd)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_TIMER),true)
|
||||
FINAL_CPPFLAGS += -D_USE_TIMER_
|
||||
endif
|
||||
|
||||
ifeq ($(USE_FAST_LOG),false)
|
||||
FINAL_CPPFLAGS += -D_USE_FAST_LOG_=0
|
||||
endif
|
||||
|
||||
ifeq ($(USE_YAMD),true)
|
||||
CC = yamd-gcc
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MPATROL),true)
|
||||
#FINAL_CPPFLAGS += -include /usr/include/mpatrol.h
|
||||
FINAL_LDFLAGS += -lmpatrolmt -lbfd -liberty
|
||||
endif
|
||||
|
||||
ifeq ($(USE_VALGRIND),true)
|
||||
FINAL_CPPFLAGS += -include /usr/include/valgrind/memcheck.h -D_VALGRIND_
|
||||
# FINAL_LDFLAGS +=
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MCHECK),true)
|
||||
FINAL_LDFLAGS += -lmcheck
|
||||
endif
|
||||
|
||||
ifeq ($(USE_STACK_PROTECTOR),true)
|
||||
FINAL_CPPFLAGS += -fstack-protector-all
|
||||
#FINAL_CPPFLAGS += -fstack-protector
|
||||
endif
|
||||
|
||||
ifeq ($(USE_STACK_CHECKER),true)
|
||||
ifeq "$(COMPILER_SUITE)" "clang"
|
||||
FINAL_CPPFLAGS += -fsanitize=address -fno-omit-frame-pointer
|
||||
FINAL_LDFLAGS += -fsanitize=address
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_DBMALLOC),true)
|
||||
CONTRIB_LIBS += dbmalloc
|
||||
FINAL_CPPFLAGS += -DDBMALLOC -DEXITFUN=_exit -I$(TOPDIR)/contrib/dbmalloc
|
||||
FINAL_LDFLAGS += -ldbmalloc
|
||||
endif
|
||||
|
||||
ifeq ($(USE_DMALLOC),true)
|
||||
FINAL_CPPFLAGS += -DDMALLOC -DDMALLOC_FUNC_CHECK -DSTORE_SEEN_COUNT
|
||||
FINAL_LDFLAGS += -ldmallocthcxx -ldmallocth
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MEMWATCH),true)
|
||||
FINAL_CPPFLAGS += -DMEMWATCH -DMW_STDIO
|
||||
endif
|
||||
|
||||
ifeq ($(USE_EFENCE),true)
|
||||
FINAL_CPPFLAGS += -DEFENCE
|
||||
FINAL_LDFLAGS += -lefence
|
||||
endif
|
||||
|
||||
ifeq ($(USE_TRACING),true)
|
||||
FINAL_CPPFLAGS += -D_DO_TRACE_
|
||||
endif
|
||||
|
||||
ifeq ($(USE_ASSERTIONS),false)
|
||||
FINAL_CPPFLAGS += -DNDEBUG
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILE_DEBUG_CODE),true)
|
||||
FINAL_CPPFLAGS += -D_DEBUG_
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILE_DEBUG_LOG),true)
|
||||
FINAL_CPPFLAGS += -D_LOG_DEBUG_
|
||||
endif
|
||||
|
||||
ifeq ($(USE_MPATROL),true)
|
||||
FINAL_CPPFLAGS += -include $(JWBDIR)/include/mpatrol.h
|
||||
FINAL_LDFLAGS += -lmpatrolmt -lbfd -liberty
|
||||
endif
|
||||
|
||||
ifeq ($(BREAK_ABI),true)
|
||||
FINAL_CPPFLAGS += -D_BREAK_ABI_
|
||||
endif
|
||||
|
||||
ifeq ($(USE_STACK_CHECK),true)
|
||||
FINAL_CPPFLAGS += -fstack-check
|
||||
endif
|
||||
|
||||
ifeq ($(USE_COMPILER_DEBUG_OPTS),true)
|
||||
#FINAL_EXTRA_DEBUG_FLAGS += -gdwarf-2
|
||||
FINAL_CPPFLAGS += -g3 $(FINAL_EXTRA_DEBUG_FLAGS)
|
||||
FINAL_LDFLAGS += -g3 $(FINAL_EXTRA_DEBUG_FLAGS)
|
||||
ifneq ($(USE_COMPILER_OPTIMIZATION_OPTS),true)
|
||||
FINAL_CPPFLAGS += -Og
|
||||
FINAL_LDFLAGS += -Og
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CC),$(GCC))
|
||||
GCC_NO_OPT_FLAGS = \
|
||||
-fno-inline-functions-called-once \
|
||||
-fno-tree-loop-optimize \
|
||||
-fno-early-inlining \
|
||||
-fno-default-inline
|
||||
else ifeq ($(CC),$(CLANG))
|
||||
FINAL_CPPFLAGS += -Werror
|
||||
endif
|
||||
|
||||
ifeq ($(USE_COMPILER_OPTIMIZATION_OPTS),true)
|
||||
FINAL_CPPFLAGS += -funroll-loops -O3
|
||||
else ifeq ($(USE_DISABLE_COMPILER_OPTIMISATION_OPTS),true)
|
||||
NO_OPT_FLAGS = \
|
||||
-O0 -g -fno-inline -fno-omit-frame-pointer \
|
||||
-fno-optimize-sibling-calls \
|
||||
$(GCC_NO_OPT_FLAGS)
|
||||
# -fconserve-stack
|
||||
|
||||
# breaks constexpr
|
||||
#NO_OPT_FLAGS += -fno-builtin
|
||||
|
||||
_NO_OPT_FLAGS = \
|
||||
-O0 \
|
||||
-fno-implicit-inline-templates \
|
||||
-fno-implement-inlines \
|
||||
-fno-default-inline \
|
||||
-fno-inline \
|
||||
-finline-limit=0 \
|
||||
-fkeep-inline-functions \
|
||||
-fno-inline-functions \
|
||||
$(GCC_NO_OPT_FLAGS)
|
||||
|
||||
FINAL_CPPFLAGS += $(NO_OPT_FLAGS)
|
||||
FINAL_LDFLAGS += $(NO_OPT_FLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_EXCEPTIONS_IN_C),true)
|
||||
FINAL_CFLAGS += -fexceptions
|
||||
ifeq ($(LIBTYPE),shared)
|
||||
GCC_LDFLAGS += -shared-libgcc
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(STRIP_SYMBOLS),true)
|
||||
STRIP_DONE ?= strip.done
|
||||
endif
|
||||
|
||||
FINAL_INCLUDE += $(LOCAL_INCLUDE)
|
||||
|
||||
# force use of double quotes, allow header namespaces
|
||||
ifeq ($(HDRDIR_SCOPE_SUFFIX),)
|
||||
FINAL_INCLUDE += -I.
|
||||
else
|
||||
FINAL_INCLUDE += -iquote .
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PROJECT_LIB),true)
|
||||
FINAL_INCLUDE += $(PROJECT_INCLUDE) -I$(TOPDIR)/include
|
||||
FINAL_LIBFLAGS += -L$(BUILD_LIBDIR)
|
||||
endif
|
||||
|
||||
FINAL_INCLUDE += $(call proj_query, cflags $(PREREQ_BUILD) $(PROJECT))
|
||||
|
||||
LDFLAGS_QUERY_ARGS = $(addprefix --exclude ,$(LDFLAGS_EXCLUDE))
|
||||
FINAL_LIBFLAGS += $(call proj_query, ldflags $(LDFLAGS_QUERY_ARGS) --add-self $(PREREQ_BUILD))
|
||||
|
||||
# the following is necessary, because not all projects have build.libname = none in project.conf
|
||||
ifeq ($(USE_PROJECT_LIB),true)
|
||||
LDFLAGS_QUERY_ARGS_SELF = --add-self
|
||||
endif
|
||||
FINAL_LIBFLAGS += $(call proj_query, ldflags $(LDFLAGS_QUERY_ARGS) $(LDFLAGS_QUERY_ARGS_SELF) $(PROJECT))
|
||||
|
||||
ifeq ($(USE_SNDFILE),true)
|
||||
FINAL_LIBFLAGS += -lsndfile
|
||||
endif
|
||||
|
||||
ifeq ($(USE_FFTW),true)
|
||||
FINAL_LIBFLAGS += -lfftw3
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GLIB),true)
|
||||
FINAL_CPPFLAGS += $(shell $(PKG_CONFIG_EXE) --cflags glib-2.0)
|
||||
FINAL_LIBFLAGS += $(shell $(PKG_CONFIG_EXE) --libs glib-2.0)
|
||||
endif
|
||||
|
||||
ifeq ($(CC),$(CLANG))
|
||||
COMPILER_CFLAGS += $(CLANG_CFLAGS)
|
||||
COMPILER_CPPFLAGS += $(CLANG_CPPFLAGS)
|
||||
COMPILER_CXXFLAGS += $(CLANG_CXXFLAGS)
|
||||
COMPILER_LDFLAGS += $(CLANG_LDFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(CC),$(GCC))
|
||||
COMPILER_CFLAGS += $(GCC_CFLAGS)
|
||||
COMPILER_CPPFLAGS += $(GCC_CPPFLAGS)
|
||||
COMPILER_CXXFLAGS += $(GCC_CXXFLAGS)
|
||||
COMPILER_LDFLAGS += $(GCC_LDFLAGS)
|
||||
endif
|
||||
|
||||
FINAL_CFLAGS += $(LOCAL_CFLAGS) $(PROJECT_CFLAGS) $(COMPLILER_CFLAGS) $(FINAL_INCLUDE)
|
||||
FINAL_CPPFLAGS += $(LOCAL_CPPFLAGS) $(PROJECT_INCLUDE) $(PROJECT_CPPFLAGS) $(COMPILER_CPPFLAGS) $(FINAL_INCLUDE)
|
||||
FINAL_CXXFLAGS += $(LOCAL_CXXFLAGS) $(PROJECT_CXXFLAGS) $(COMPILER_CXXFLAGS) $(FINAL_INCLUDE)
|
||||
FINAL_LDFLAGS += $(LOCAL_LDFLAGS) $(PROJECTLIB_LDFLAGS) $(PROJECT_LDFLAGS) $(COMPILER_LDFLAGS) $(FINAL_LPPFLAGS) $(FINAL_LIBFLAGS)
|
||||
|
||||
#RPM_REQUIRES = $(shell $(ECHO) "$(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL)" | $(add_flavour_prefix))
|
||||
RPM_REQUIRES += $(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL)
|
||||
|
||||
REAL_CFLAGS ?= $(FINAL_CFLAGS)
|
||||
REAL_CPPFLAGS ?= $(FINAL_CPPFLAGS)
|
||||
REAL_CXXFLAGS ?= $(FINAL_CXXFLAGS)
|
||||
REAL_LDFLAGS ?= $(FINAL_LDFLAGS)
|
||||
|
||||
# -- LIB
|
||||
INSTALLATION_FILE_TYPES += LIB
|
||||
#BUILD_PIDIR = $(BUILD_LIBDIR)
|
||||
#BUILD_PI = $(addprefix $(BUILD_PIDIR)/,$(PLUGIN))
|
||||
#INSTALL_PIDIR = $(INSTALL_LIBDIR)
|
||||
#INSTALLED_PI = $(addprefix $(INSTALL_PIDIR)/,$(PLUGIN))
|
||||
|
||||
BUILD_LIBDIR ?= $(TOPDIR)/lib
|
||||
|
||||
LOCAL_LIBS += $(CONTRIB_LIBS) $(PLUGIN)
|
||||
ifeq ($(TARGET),mingw)
|
||||
ifeq ($(TC_SYS_ROOT),)
|
||||
CONTRIB_LIBS_PATH += $(CROSS_TOOL_DIR)/bin
|
||||
else
|
||||
CONTRIB_LIBS_PATH += $(TC_SYS_ROOT)/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
INSTALL_LIBDIR ?= $(EXE_PREFIX)/lib
|
||||
|
||||
ifeq ($(LIBTYPE),shared)
|
||||
ifneq ($(TARGET),mingw)
|
||||
FINAL_LDFLAGS += -rdynamic
|
||||
endif
|
||||
else
|
||||
LIB_SO ?=
|
||||
FINAL_LDFLAGS += -static
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PROJECT_LIB),true)
|
||||
LIBNAME ?= $(PROJECT)
|
||||
MEMBERS += $(LIB_A)($(BUILD_OBJ))
|
||||
VERSION_SCRIPT = $(BUILD_LIBDIR)/version.ldscript
|
||||
# TODO: use something like this as unifying variable, there are far too many
|
||||
# lib-related variables
|
||||
LOCAL_LIBS +=
|
||||
ifneq ($(TARGET),mingw)
|
||||
LIB_A ?= $(BUILD_LIBDIR)/lib$(LIBNAME).a
|
||||
SO_SUFFIX ?= so.$(MAJOR_MINOR_RELEASE)
|
||||
SO_PREFIX ?= lib
|
||||
LIB_SO ?= $(BUILD_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
||||
LINKS_SO += $(filter-out $(LIB_SO),$(shell $(ECHO) $(LIB_SO) | $(SED) -e "s/\.so\..*$$/.so/"))
|
||||
INSTALLED_LINKS_SO += $(filter-out $(INSTALLED_LIB_SO),$(shell $(ECHO) $(INSTALLED_LIB_SO) | $(SED) -e "s/\.so\..*$$/.so/"))
|
||||
INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
|
||||
else
|
||||
LIB_A = $(BUILD_LIBDIR)/lib$(LIBNAME)-static.a
|
||||
#WINRES_RC_TMPL = $(JWBDIR)/make/winres-minimal.rc.tmpl
|
||||
WINRES_RC_TMPL = $(JWBDIR)/make/winres.rc.tmpl
|
||||
WINRES_RC = $(BUILD_LIBDIR)/$(PROJECT).rc
|
||||
WINRES_O = $(WINRES_RC).o
|
||||
SO_SUFFIX ?= dll
|
||||
SO_PREFIX ?=
|
||||
LIB_DEF = $(BUILD_LIBDIR)/$(LIBNAME).def
|
||||
MSVCPP_IMPLIB = $(BUILD_LIBDIR)/$(LIBNAME).lib
|
||||
LIB_SO ?= $(BUILD_LIBDIR)/$(LIBNAME).dll
|
||||
INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
|
||||
endif # mingw
|
||||
BUILD_LIB += $(LIB_SO)
|
||||
endif # USE_PROJECT_LIB
|
||||
|
||||
INSTALLED_LIB_SO = $(addprefix $(INSTALL_LIBDIR)/,$(notdir $(LIB_SO)))
|
||||
INSTALLED_DEF = $(addprefix $(INSTALL_LIBDIR)/,$(wildcard *.lib *.exp))
|
||||
INSTALLED_LIB += $(addprefix $(INSTALL_LIBDIR)/,$(LOCAL_LIBS))
|
||||
BUILD_LIB += $(addprefix $(BUILD_LIBDIR)/,$(LOCAL_LIBS))
|
||||
INSTALLED_ALL_LIBS = $(addprefix $(INSTALL_LIBDIR)/,$(wildcard *.a))
|
||||
INSTALLED_LIB += $(INSTALLED_LIB_SO) $(INSTALLED_SHOBJS) \
|
||||
$(INSTALLED_LINKS_SO) $(sort $(INSTALLED_LIB_A) $(INSTALLED_ALL_LIBS)) \
|
||||
$(INSTALLED_DEF)
|
||||
|
||||
endif # ifeq ($(filter clean distclean,$(MAKECMDGOALS)),)
|
||||
endif # ifndef JW_BUILD_CPP_DEFS_MK_INCLUDED
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
# variables
|
||||
DEPEND_CFLAGS += -D__MAKEDEPEND__
|
||||
DEPEND_CXXFLAGS += -D__MAKEDEPEND__
|
||||
DEPEND_MK += $(addprefix .,$(addsuffix .dep.mk, $(BUILD_OBJ)))
|
||||
|
||||
ifeq ($(DEPEND_MK_INCLUDED),)
|
||||
|
||||
all:
|
||||
clean: depclean
|
||||
|
||||
# convenience targets
|
||||
dep: $(DEPEND_MK)
|
||||
depclean:
|
||||
$(RM) -f .*.dep.mk
|
||||
|
||||
$(DEPEND_MK): $(PREREQ_DONE)
|
||||
|
||||
ifneq ($(DEPEND_MK),)
|
||||
ifeq ($(MAKECMDGOALS),)
|
||||
-include $(DEPEND_MK)
|
||||
endif
|
||||
ifneq ($(filter all,$(MAKECMDGOALS)),)
|
||||
-include $(DEPEND_MK)
|
||||
endif
|
||||
endif
|
||||
|
||||
%.o: .%.o.dep.mk
|
||||
|
||||
.%.o.dep.mk: %.cpp $(BUILD_HDR) $(SRC_H)
|
||||
$(CC) -M $(FINAL_CXXFLAGS) $(FINAL_CPPFLAGS) $(DEPEND_CXXFLAGS) $< -o $@
|
||||
|
||||
.%.o.dep.mk: %.cc $(BUILD_HDR) $(SRC_H)
|
||||
$(CC) -M $(FINAL_CXXFLAGS) $(FINAL_CPPFLAGS) $(DEPEND_CXXFLAGS) $< -o $@
|
||||
|
||||
.%.o.dep.mk: %.c $(BUILD_HDR) $(SRC_H)
|
||||
$(CC) -M $(FINAL_CFLAGS) $(FINAL_CPPFLAGS) $(DEPEND_CXXFLAGS) $< -o $@
|
||||
|
||||
show-vars: show-vars-depend-mk
|
||||
show-vars-depend-mk:
|
||||
@echo DEPEND_MK = $(DEPEND_MK)
|
||||
@echo BUILD_HDR = $(BUILD_HDR)
|
||||
@echo SRC_H = $(SRC_H)
|
||||
|
||||
endif # DEPEND_MK_INCLUDED
|
||||
DEPEND_MK_INCLUDED := true
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
DISABLED = @echo Target \"$1\" in $(shell pwd)/Makefile has been disabled.
|
||||
|
||||
all:
|
||||
$(call DISABLED,$@)
|
||||
|
||||
install clean distclean:
|
||||
$(call DISABLED,$@)
|
||||
87
make/dist.mk
87
make/dist.mk
|
|
@ -1,87 +0,0 @@
|
|||
# -- general, and important
|
||||
LOCAL_PROJECT = $(PROJECT)
|
||||
|
||||
TARGET_HOST = cvs.janware.com
|
||||
UPLOAD_DOCUMENT_ROOT = /usr/local/httpd/htdocs
|
||||
UPLOAD_VIRTUAL_SERVER_ROOT = www.jannet.de_443
|
||||
TARGET_USER = root
|
||||
TARGET_GROUP = root
|
||||
TARGET_FILE_MODE = 755
|
||||
TARGET_DIR_MODE = 755
|
||||
DOWNLOAD_SERVER = https://www.jannet.de:443
|
||||
URL_RELATIVE_PATH = $(CUSTOMER)/projects/$(LOCAL_PROJECT)/download
|
||||
SSI_DOWNLOAD_TMPL = $(JWBDIR)/doctmpl/html/ssi/ssi_download.html.tmpl
|
||||
DOWNLOAD_REFERRER_DIRS = $(addprefix $(UPLOAD_DOCUMENT_ROOT)/, \
|
||||
$(UPLOAD_VIRTUAL_SERVER_ROOT)/$(URL_RELATIVE_PATH) \
|
||||
)
|
||||
|
||||
# -- 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)
|
||||
SSI_PREFIX = $(TMPHTML)/ssi_download_
|
||||
|
||||
$(TMPHTML):
|
||||
mkdir -p $(TMPHTML)
|
||||
test -d $(TMPHTML) && $(RM) -rf $(TMPHTML)/*
|
||||
|
||||
|
||||
$(SSI_PREFIX)%.html: $(TMPHTML) $(SSI_DOWNLOAD_TMPL)
|
||||
STEM=`basename $*` ;\
|
||||
DIR=`dirname $*` ;\
|
||||
EXPLANATION="$(PROJECT_DESCR)";\
|
||||
SIZE=`ls -l $(DIST_FILE) | awk '{print $$5}'`;\
|
||||
FILENAME=`basename $(DIST_FILE)` ;\
|
||||
URLDIR=`echo $(DOWNLOAD_URLDIR) | $(SED) -e 's/\\//\\\\\//g;'` ;\
|
||||
$(CAT) $(SSI_DOWNLOAD_TMPL) | $(SED) -e "\
|
||||
s/_VERSION_/$(LOCAL_DIST_VERSION)/g;\
|
||||
s/_PROJECT_/$(LOCAL_PROJECT)/g;\
|
||||
s/_TARGET_STEM_//g;\
|
||||
s/_FILENAME_/$$FILENAME/g;\
|
||||
s/_DATE_/$(shell date +"%Y-%m-%d")/g;\
|
||||
s/_EXPLANATION_/$$EXPLANATION/g;\
|
||||
s/_URLDIR_/$$URLDIR/g;\
|
||||
s/_SIZE_/$$SIZE/g;\
|
||||
" > $@
|
||||
|
||||
remove_dist:
|
||||
$(RM) -rf $(DISTDIR)
|
||||
|
||||
distclean: remove_dist
|
||||
$(DIST_FILE): distclean
|
||||
mkdir -p $(DISTDIR)/src/$(PROJECT)
|
||||
mkdir -p $(DISTDIR)/pckg
|
||||
$(RM) -rf $(DISTDIR)/src/$(PROJECT)/*
|
||||
mkdir -p $(DISTDIR)/src/$(PROJECT)/mod
|
||||
cd $(TOPDIR); find . -type f | \
|
||||
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 ;\
|
||||
echo $(REQUIRED) | while read mod ;\
|
||||
do make -C $(JWBDIR)/$$mod clean ;\
|
||||
cp -r $(JWBDIR)/$$mod $(DISTDIR)/src/$(PROJECT)/mod/ ;\
|
||||
done ;\
|
||||
cp $(JWBDIR)/Makefile $(DISTDIR)/src/$(PROJECT)/mod/ ;\
|
||||
tar -czv -C $(DISTDIR)/src/ -f $(DIST_FILE) $(PROJECT)
|
||||
|
||||
build.dist: $(DIST_FILE)
|
||||
|
||||
# -- install.dist
|
||||
install.dist: $(DIST_FILE) $(SSI_PREFIX)_$(PROJECT)_$(DIST_VERSION).html
|
||||
@echo "-- installing distribution files to $(TARGET_HOST):$(TARGET_DIR) as user $(TARGET_USER)"
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
mkdir -p $(TARGET_DIR); chmod $(TARGET_DIR_MODE) $(TARGET_DIR)"
|
||||
/usr/bin/rsync -az -v --links -e $(CVS_RSH) $(DIST_FILE) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR)
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
cd $(TARGET_DIR); find . -type d | xargs -r chmod $(TARGET_DIR_MODE); find . -type f | xargs -r chmod $(TARGET_FILE_MODE)"
|
||||
@echo "-- installing referrer include files to $(TARGET_HOST) as user $(TARGET_USER)"
|
||||
for DIR in $(DOWNLOAD_REFERRER_DIRS) ; do \
|
||||
echo "to $$DIR" ;\
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
mkdir -p $$DIR; chmod $(TARGET_DIR_MODE) $(TARGET_DIR)" ;\
|
||||
/usr/bin/rsync -az -v --links -e $(CVS_RSH) $(TMPHTML)/ssi_download_*.html $(TARGET_USER)@$(TARGET_HOST):$$DIR ;\
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
cd $$DIR; find . -type d | xargs -r chmod $(TARGET_DIR_MODE); find . -type f | xargs -r chmod $(TARGET_FILE_MODE)" ;\
|
||||
done
|
||||
130
make/doxygen.mk
130
make/doxygen.mk
|
|
@ -1,130 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
ifeq ($(DEVELOPMENT),true)
|
||||
GENERATE_DOXYGEN ?= true
|
||||
endif
|
||||
|
||||
ifneq ($(GENERATE_DOXYGEN),true)
|
||||
include $(JWBDIR)/make/dummy.mk
|
||||
else
|
||||
|
||||
UPLOAD_FILE_MODE ?= 644
|
||||
UPLOAD_DIR_MODE ?= 755
|
||||
|
||||
include $(JWBDIR)/make/upload-defs.mk
|
||||
|
||||
UPLOAD_URL ?= $(UPLOAD_URL_DEVEL_DOC)/$(PROJECT)/doxygen/:$(UPLOAD_FILE_MODE):$(UPLOAD_DIR_MODE):$(UPLOAD_USER).$(UPLOAD_GROUP)
|
||||
|
||||
DX_INCLUDE ?= header.html footer.html styles.css
|
||||
DX_LOGO ?= logo.png
|
||||
DX_UNTEMPLATED = $(patsubst %.tmpl,%,$(wildcard *.tmpl))
|
||||
DX_OUTPUT_DIR ?= html
|
||||
DX_INSTALL_DIR ?= $(DOC_PREFIX)/devel
|
||||
DX_DOC_FILES = $(DX_INCLUDE) $(DX_LOGO)
|
||||
DX_DOXYGEN_CONF ?= doxygen.conf
|
||||
DX_INCLUDE_TMPL_DIR ?= $(JWBDIR)/tmpl/doxygen
|
||||
DX_FALLBACK_CONF_TMPL ?= $(DX_INCLUDE_TMPL_DIR)/doxygen.conf.tmpl
|
||||
DX_BROWSER ?= $(BROWSER)
|
||||
|
||||
# replaced pattern defaults
|
||||
DX_FILE_PATTERNS ?= *.h *.c *.cpp
|
||||
DX_INPUT_DIRS ?= $(TOPDIR)/include
|
||||
DX_SRC_IS_JAVA ?= NO
|
||||
DX_EXCLUDE_FILES ?=
|
||||
DX_INCLUDE_PATH ?=
|
||||
DX_RECURSIVE ?= YES
|
||||
DX_EXTRACT_STATIC ?= NO
|
||||
DX_INLINE_SOURCES ?= NO
|
||||
DX_SOURCE_BROWSER ?= NO
|
||||
|
||||
all: html
|
||||
install: install.done
|
||||
distclean: clean
|
||||
clean: clean.doxygen
|
||||
|
||||
doc: all
|
||||
upload: upload.done
|
||||
html: doxygen.done cpfiles.done
|
||||
|
||||
view: doc.done
|
||||
$(DX_BROWSER) $(DX_OUTPUT_DIR)/index.html
|
||||
|
||||
doxygen.done: $(DX_UNTEMPLATED) $(DX_DOC_FILES)
|
||||
umask 0022 && doxygen $(DX_DOXYGEN_CONF)
|
||||
touch $@
|
||||
|
||||
cpfiles.done: doxygen.done $(DX_DOC_FILES)
|
||||
umask 0022 && cp $(DX_DOC_FILES) $(DX_OUTPUT_DIR)
|
||||
touch $@
|
||||
|
||||
doc.done: doxygen.done cpfiles.done
|
||||
touch $@
|
||||
|
||||
upload.done: doxygen.done cpfiles.done
|
||||
upload.sh $(DX_OUTPUT_DIR)/ $(UPLOAD_URL)
|
||||
|
||||
clean.doxygen:
|
||||
$(RM) -rf $(DX_OUTPUT_DIR) *.done $(DX_UNTEMPLATED) $(DX_INCLUDE) *.bak default-* doxygen.conf *.tmp
|
||||
|
||||
inst-dir.done:
|
||||
$(INSTALL) -d -o $(DOCDIROWNER) -g $(DOCDIRGROUP) -m $(DOCDIRMODE) $(DX_INSTALL_DIR)
|
||||
touch $@
|
||||
|
||||
install.done: doxygen.done inst-dir.done
|
||||
make install.doxygen
|
||||
touch $@
|
||||
|
||||
install.doxygen:
|
||||
$(INSTALL) -p -o $(DOCOWNER) -g $(DOCGROUP) -m $(DOCMODE) \
|
||||
$(wildcard $(DX_OUTPUT_DIR)/*.html) \
|
||||
$(wildcard $(DX_OUTPUT_DIR)/*.gif) \
|
||||
$(wildcard $(DX_OUTPUT_DIR)/*.png) \
|
||||
$(wildcard $(DX_OUTPUT_DIR)/*.css) \
|
||||
$(DX_INSTALL_DIR)
|
||||
|
||||
$(DX_DOXYGEN_CONF): $(firstword $(wildcard $(DX_DOXYGEN_CONF).tmpl $(DX_FALLBACK_CONF_TMPL)))
|
||||
$(SED) " \
|
||||
s/__VERSION__/$(DIST_VERSION)/g; \
|
||||
s/__PROJECT__/$(PROJECT)/g; \
|
||||
s/__PROJECT_CAPNAME__/$(PROJECT_CAPNAME)/g; \
|
||||
s%__PROJECT_SUMMARY__%$(PROJECT_SUMMARY)%g; \
|
||||
s/__OUTPUT_DIR__/$(DX_OUTPUT_DIR)/g; \
|
||||
s%__PROJECT_TOPDIR__%$(TOPDIR)%g; \
|
||||
s%__JWBDIR__%$(JWBDIR)%g; \
|
||||
s%__FILE_PATTERNS__%$(DX_FILE_PATTERNS)%g; \
|
||||
s%__INPUT_DIRS__%$(DX_INPUT_DIRS)%g; \
|
||||
s%__SRC_IS_JAVA__%$(DX_SRC_IS_JAVA)%g; \
|
||||
s%__EXCLUDE_FILES__%$(DX_EXCLUDE_FILES)%g; \
|
||||
s%__INCLUDE_PATH__%$(DX_INCLUDE_PATH)%g; \
|
||||
s%__RECURSIVE__%$(DX_RECURSIVE)%g; \
|
||||
s%__EXTRACT_STATIC__%$(DX_EXTRACT_STATIC)%g; \
|
||||
s%__INLINE_SOURCES__%$(DX_INLINE_SOURCES)%g; \
|
||||
s%__SOURCE_BROWSER__%$(DX_SOURCE_BROWSER)%g; \
|
||||
" $< > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
doxygen-default-includes.done: $(DX_DOXYGEN_CONF)
|
||||
doxygen -w html $(addprefix default-,$(DX_INCLUDE)) $<
|
||||
touch $@
|
||||
|
||||
header.html: $(DX_INCLUDE_TMPL_DIR)/header.html doxygen-default-includes.done
|
||||
cat default-$@ | sed -ne "/<\/tr>/r $<" -e 1x -e '2,$${x;p}' -e '$${x;p}' > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
footer.html: $(DX_INCLUDE_TMPL_DIR)/footer.html doxygen-default-includes.done
|
||||
cat $< default-$@ > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
styles.css: $(DX_INCLUDE_TMPL_DIR)/styles.css doxygen-default-includes.done
|
||||
cat default-$@ $< > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
logo.png: $(DX_INCLUDE_TMPL_DIR)/logo.png doxygen-default-includes.done
|
||||
cp $< $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
doxygen.conf.tmpl: | $(DX_FALLBACK_CONF_TMPL)
|
||||
cp $(DX_FALLBACK_CONF_TMPL) $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
endif
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
all:
|
||||
clean:
|
||||
$(RM) -rf *~ .*.swp
|
||||
install: # nothing to be done
|
||||
all: # nothing to be done
|
||||
distclean: clean
|
||||
21
make/exe.mk
21
make/exe.mk
|
|
@ -1,21 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/run.mk
|
||||
include $(JWBDIR)/make/depend.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
all: $(EXE) $(BUILD_EXE_BIN) $(STRIP_DONE)
|
||||
install: $(INSTALLED_EXE) $(INSTALLED_EXE_BIN)
|
||||
run test: all.dirs $(EXE) $(EXE_BIN)
|
||||
strace: $(EXE) $(EXE_BIN)
|
||||
|
||||
clean: execlean localclean profclean
|
||||
|
||||
ifeq ($(USE_PROJECT_LIB),true)
|
||||
$(LIB_SO): $(LIB_A)
|
||||
$(EXE): $(LIB_SO)
|
||||
endif
|
||||
all.dirs:
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
distclean: textclean localclean
|
||||
clean: textclean localclean
|
||||
install: # nothing to be done
|
||||
all: # nothing to be done
|
||||
profclean:
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
GETTEXT_LOCALE ?= $(notdir $(shell $(PWD)))
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
GETTEXT_PROJECT_PO ?= $(PROJECT).po
|
||||
GETTEXT_PROJECT_POT ?= $(PROJECT).pot
|
||||
|
||||
GETTEXT_POT ?= $(wildcard *.pot)
|
||||
GETTEXT_PO ?= $(patsubst %.pot,%.po,$(GETTEXT_POT))
|
||||
GETTEXT_MO ?= $(patsubst %.po,%.mo,$(GETTEXT_PO))
|
||||
GETTEXT_INPUT_DIRS ?= $(wildcard $(TOPDIR)/tools $(TOPDIR)/src $(TOPDIR)/conf)
|
||||
GETTEXT_INPUT_EXTS ?= php cpp conf
|
||||
GETTEXT_INPUT_FILES ?= $(foreach d,$(GETTEXT_INPUT_DIRS),\
|
||||
$(shell find $d -name translate-me $(foreach ext,$(GETTEXT_INPUT_EXTS),-o -name '*.$(ext)')))
|
||||
GETTEXT_KEYWORDS ?= htr ehtr $(GETTEXT_EXTRA_KEYWORDS)
|
||||
GETTEXT_LINKS ?= LC_MESSAGES
|
||||
|
||||
all: $(GETTEXT_MO) | $(GETTEXT_LINKS)
|
||||
clean: clean-mo
|
||||
$(RM) -rf *~ .*.swp
|
||||
install: install_MO
|
||||
distclean: clean
|
||||
test:
|
||||
|
||||
extract: $(GETTEXT_POT)
|
||||
clean-mo:
|
||||
$(RM) -f *.mo *.tmp
|
||||
|
||||
$(GETTEXT_PROJECT_POT):
|
||||
xgettext --from-code=utf-8 --package-name $(PROJECT) --package-version $(DIST_VERSION) \
|
||||
--default-domain $(PROJECT) $(addprefix -k,$(GETTEXT_KEYWORDS)) \
|
||||
--output $@.tmp $(XGETTEXT_EXTRA_OPTS) $(GETTEXT_INPUT_FILES)
|
||||
mv $@.tmp $@
|
||||
|
||||
init: $(GETTEXT_PROJECT_POT)
|
||||
msginit --no-translator --locale $(GETTEXT_LOCALE) \
|
||||
--output-file $(GETTEXT_PROJECT_PO).tmp --input $<
|
||||
sed -i 's/charset=ASCII/charset=UTF-8/' $(GETTEXT_PROJECT_PO).tmp
|
||||
mv $(GETTEXT_PROJECT_PO).tmp $(GETTEXT_PROJECT_PO)
|
||||
|
||||
merge: $(GETTEXT_PROJECT_POT)
|
||||
msgmerge -v --lang $(GETTEXT_LOCALE) --output-file $(GETTEXT_PROJECT_PO).tmp \
|
||||
$(wildcard $(GETTEXT_PROJECT_PO)) $<
|
||||
mv $(GETTEXT_PROJECT_PO).tmp $(GETTEXT_PROJECT_PO)
|
||||
|
||||
merge-pot: $(GETTEXT_POT)
|
||||
msgmerge -v --lang $(GETTEXT_LOCALE) --output-file $(GETTEXT_PROJECT_PO).tmp \
|
||||
$(wildcard $(GETTEXT_PROJECT_PO)) $<
|
||||
mv $(GETTEXT_PROJECT_PO).tmp $(GETTEXT_PROJECT_PO)
|
||||
|
||||
%.po: %.pot
|
||||
msgcat --lang $(GETTEXT_LOCALE) --output-file $@.tmp $^
|
||||
mv $@.tmp $@
|
||||
|
||||
edit: merge $(GETTEXT_PROJECT_POT)
|
||||
poedit $(GETTEXT_PROJECT_PO)
|
||||
|
||||
%.mo: %.po
|
||||
msgfmt --check --verbose --output-file $@.tmp $<
|
||||
mv $@.tmp $@
|
||||
|
||||
LC_%:
|
||||
ln -s . $@
|
||||
clean.lc-links:
|
||||
rm -f $(GETTEXT_LINKS)
|
||||
clean: clean.lc-links
|
||||
|
||||
#msginit --no-translator --locale es_MX --output-file $(PROJECT)_spanish.po --input $(PROJECT).pot
|
||||
#sed --in-place $(PROJECT)_spanish.po --expression = '/"hello, world!"/,/#: / s/""/"hola mundo"/'
|
||||
#mkdir --parents ./es_MX.utf8/LC_MESSAGES
|
||||
#msgfmt --check --verbose --output-file ./es_MX.utf8/LC_MESSAGES/$(PROJECT).mo $(PROJECT)_spanish.po
|
||||
|
||||
GETTEXT_TMP = $(patsubst %.php,%.htr,$(GETTEXT_PREPROCESS))
|
||||
GETTEXT_INPUT_FILES += $(GETTEXT_TMP)
|
||||
|
||||
all: htr
|
||||
clean: htr-tmp-clean
|
||||
|
||||
htr: $(GETTEXT_TMP)
|
||||
|
||||
htr-tmp-clean:
|
||||
$(RM) -f *.htr
|
||||
|
||||
define copy_rule
|
||||
./%.htr.tmp: $(1)/%.php
|
||||
cp $$< $$@
|
||||
endef
|
||||
|
||||
$(foreach d, $(HTR_SOURCE_DIRS), $(eval $(call copy_rule,$(d))))
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
# - Clone remote repo into <mydir>/<myrepo>
|
||||
# - Add the following to <mydir>/Makefile:
|
||||
# - SUBMOD_SRC_DIR = ./<myrepo>
|
||||
# - include <path-to-this-makefile>
|
||||
# - run git-init-submod-remote
|
||||
|
||||
ifeq ($(USE_USER_URL),true)
|
||||
JANWARE_USER_PREFIX = $(JANWARE_USER)@
|
||||
endif
|
||||
|
||||
SUBMOD_SRC_DIR ?= .
|
||||
GIT_SRV_ADMIN_SH = ssh $(JANWARE_USER_PREFIX)git.janware.com /opt/jw-build/bin/git-srv-admin.sh
|
||||
GIT_REPO_URL = ssh://$(JANWARE_USER_PREFIX)git.janware.com/srv/git/$(JANWARE_USER)/contrib/$(SUBMOD_PKG_NAME)
|
||||
SUBMOD_PATH = $(patsubst $(abspath $(TOPDIR))/%,%,$(abspath $(CWD)/$(SUBMOD_SRC_DIR)))
|
||||
SUB_GIT = git -C $(SUBMOD_SRC_DIR)
|
||||
|
||||
ifneq ($(wildcard $(SUBMOD_SRC_DIR)/.git),)
|
||||
SUBMOD_PKG_NAME := $(shell $(SUB_GIT) remote -v | sed -n 's/^[a-zA-Z_]\+\s//; s/ *.*//; s%.*/%%; s%\.git%%; 1p')
|
||||
SUBMOD_MAIN_BRANCH := $(firstword $(shell $(SUB_GIT) branch --format '%(refname:lstrip=2)'))
|
||||
endif
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
all:
|
||||
install:
|
||||
clean:
|
||||
distclean:
|
||||
|
||||
git-init-submod-remote:
|
||||
[ "$(SUBMOD_PKG_NAME)" ] # SUBMOD_PKG_NAME
|
||||
[ "$(SUBMOD_MAIN_BRANCH)" ] # SUBMOD_MAIN_BRANCH
|
||||
[ "$(SUBMOD_SRC_DIR)" ] # SUBMOD_SRC_DIR
|
||||
[ "$(SUBMOD_PATH)" ] # SUBMOD_PATH
|
||||
[ "$(GIT_REPO_URL)" ] # GIT_REPO_URL
|
||||
$(GIT_SRV_ADMIN_SH) -F contrib create-repo $(SUBMOD_PKG_NAME)
|
||||
$(SUB_GIT) remote rename origin upstream
|
||||
$(SUB_GIT) remote set-url --push upstream no-push
|
||||
$(SUB_GIT) remote add origin $(GIT_REPO_URL)
|
||||
$(SUB_GIT) config branch.$(SUBMOD_MAIN_BRANCH).remote origin
|
||||
$(SUB_GIT) config branch.$(SUBMOD_MAIN_BRANCH).merge refs/heads/$(SUBMOD_MAIN_BRANCH)
|
||||
$(SUB_GIT) push origin $(SUBMOD_MAIN_BRANCH)
|
||||
git -C $(TOPDIR) submodule add -f $(GIT_REPO_URL) $(SUBMOD_PATH)
|
||||
git submodule init
|
||||
git commit -m "Add git submodule $(SUBMOD_PATH)" $(SUBMOD_SRC_DIR) $(TOPDIR)/.gitmodules
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
ALL += $(BUILD_LIBDIR) $(PREREQ_DONE) $(BUILD_HDR)
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
all: $(ALL)
|
||||
clean: objclean textclean localclean
|
||||
install: all
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
LESS_SRC ?= $(wildcard *.less)
|
||||
LESS_GENERATED_CSS ?= $(patsubst %.less,%.css,$(LESS_SRC))
|
||||
LESS_CPY ?= lesscpy
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
# -- HTML
|
||||
PRETTIER := $(shell $(WHICH) prettier 2>/dev/null)
|
||||
INSTALLATION_FILE_TYPES += HTML
|
||||
BUILD_HTMLDIR = $(TOPDIR)/htdocs
|
||||
LOCAL_HTML += $(filter-out $(DONT_INSTALL),$(wildcard *.html *.css *.php *.js) $(FONTS) $(IMAGES))
|
||||
DONT_LINT_HTML += $(shell $(ECHO) $(wildcard *.html) | xargs --no-run-if-empty $(GREP) -l '<?php')
|
||||
LOCAL_HTML_LINT ?= $(addprefix .,$(addsuffix .lint,$(filter-out $(DONT_LINT_HTML),$(wildcard *.html *.php *.css *.js))))
|
||||
HTML_STOPDIR_NAME ?= htdocs
|
||||
ifeq ($(HTML_SUBDIR),)
|
||||
HTML_SUBDIR := $(shell $(PWD) | $(SED) '/.*\/$(HTML_STOPDIR_NAME)\(\/\|$$\)/!d; s%.*/$(HTML_STOPDIR_NAME)\(/\|$$\)%%')
|
||||
endif
|
||||
ifeq ($(HTML_SUBDIR),)
|
||||
INSTALL_HTMLDIR ?= $(PROJECT_HTMLDIR)
|
||||
else
|
||||
INSTALL_HTMLDIR ?= $(PROJECT_HTMLDIR)/$(HTML_SUBDIR)
|
||||
endif
|
||||
INSTALLED_HTML += $(addprefix $(INSTALL_HTMLDIR)/,$(LOCAL_HTML))
|
||||
|
||||
|
||||
include $(JWBDIR)/make/js.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
all: $(LESS_GENERATED_CSS) lint
|
||||
install: install_HTML
|
||||
clean: textclean localclean doneclean clean.lesscpy
|
||||
test:
|
||||
|
||||
%.css: %.less
|
||||
$(LESS_CPY) $< > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
clean.lesscpy:
|
||||
$(RM) -f $(LESS_GENERATED_CSS) *.tmp
|
||||
|
||||
lint: $(LOCAL_HTML_LINT)
|
||||
clean: lint.clean
|
||||
lint.clean:
|
||||
rm -f .*.lint
|
||||
|
||||
.%.html.lint: %.html
|
||||
ifneq ($(PRETTIER),)
|
||||
$(PRETTIER) $< >/dev/null
|
||||
endif
|
||||
touch $@
|
||||
|
||||
.%.php.lint: %.php
|
||||
php -l $<
|
||||
ifneq ($(PRETTIER),)
|
||||
#$(PRETTIER) --parser html $< >/dev/null
|
||||
endif
|
||||
touch $@
|
||||
|
||||
.%.css.lint: %.css
|
||||
ifneq ($(PRETTIER),)
|
||||
$(PRETTIER) $< >/dev/null
|
||||
endif
|
||||
touch $@
|
||||
|
||||
.%.js.lint: %.js
|
||||
ifneq ($(PRETTIER),)
|
||||
$(PRETTIER) $< >/dev/null
|
||||
endif
|
||||
touch $@
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
all:
|
||||
install: install_IMG
|
||||
clean:
|
||||
distclean:
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
# variables
|
||||
SRC_H += $(PROJ_H) $(wildcard $(HDRDIR_SCOPE_SUFFIX)/*.h)
|
||||
|
||||
# mandatory targets
|
||||
all: $(PROJ_H)
|
||||
clean: clean.include
|
||||
install: install_HDR
|
||||
|
||||
# not wäry naaice
|
||||
ifneq ($(HDRDIR_SCOPE_SUFFIX),)
|
||||
install_HDR: dir_install_hdr_suffix.done
|
||||
|
||||
dir_install_hdr_suffix.done:
|
||||
$(INSTALL) -d -o $(HDRDIROWNER) -g $(HDRDIRGROUP) -m $(HDRDIRMODE) $(INSTALL_HDRDIR)/$(HDRDIR_SCOPE_SUFFIX)
|
||||
touch $@
|
||||
endif
|
||||
|
||||
# convenience targets
|
||||
project-header: $(PROJ_H)
|
||||
|
||||
# rules
|
||||
clean.include:
|
||||
$(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
|
||||
echo "#define _$(PROJECT_CAPNAME)_H" >> $@.tmp
|
||||
echo >> $@.tmp
|
||||
for h in $(sort $(patsubst $(PROJECT)/%,%,$^)); do echo "#include <$(PROJECT)/$$h>"; done >> $@.tmp
|
||||
echo >> $@.tmp
|
||||
echo "#endif /* #ifndef _$(PROJECT_CAPNAME)_H */" >> $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
install-links:
|
||||
DEVELOPMENT=false make do-install-links
|
||||
|
||||
do-install-links:
|
||||
@$(call install_links,HDR)
|
||||
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
SOURCE_FILES ?= $(filter-out CVS .git $(LOCAL_MKFILES) %.done, $(wildcard *))
|
||||
TARGET_DIR ?= $(PREFIX)/share
|
||||
|
||||
SOURCE_BASE ?= .
|
||||
|
||||
RELPATHS = $(foreach f,$(SOURCE_FILES),$(shell realpath -s --relative-to "$(SOURCE_BASE)" "$f"))
|
||||
INSTALLED_FILES = $(addprefix $(TARGET_DIR)/,$(RELPATHS))
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
ifeq ($(DEVELOPMENT),true)
|
||||
TARGET_OWNER ?= $(shell id -un)
|
||||
TARGET_GROUP ?= $(shell id -gn)
|
||||
else
|
||||
TARGET_OWNER ?= root
|
||||
TARGET_GROUP ?= root
|
||||
endif
|
||||
TARGET_DIR_OWNER ?= $(TARGET_OWNER)
|
||||
TARGET_DIR_GROUP ?= $(TARGET_GROUP)
|
||||
TARGET_MODE ?= 440
|
||||
TARGET_DIR_MODE ?= 770
|
||||
|
||||
all:
|
||||
install: install.done
|
||||
clean: done.clean
|
||||
distclean:
|
||||
|
||||
done.clean:
|
||||
$(RM) -f *.done
|
||||
|
||||
$(TARGET_DIR)/%: $(SOURCE_BASE)/%
|
||||
@if [ -L "$<" -o -f "$<" ]; then \
|
||||
echo $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\
|
||||
$(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\
|
||||
else \
|
||||
echo $(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$@" ;\
|
||||
$(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$@" ;\
|
||||
fi
|
||||
|
||||
install.done: $(INSTALLED_FILES)
|
||||
touch $@
|
||||
|
||||
# this used to work fine until an enormous $(SOURCE_FILES) was encountered
|
||||
install-old.done:
|
||||
for f in $(SOURCE_FILES); do \
|
||||
relpath=`realpath -s --relative-to "$(SOURCE_BASE)" "$$f"` ;\
|
||||
if [ -d "$$f" ]; then \
|
||||
$(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$(TARGET_DIR)/$$relpath" ;\
|
||||
else \
|
||||
$(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$$f" "$(TARGET_DIR)/$$relpath" ;\
|
||||
fi ;\
|
||||
done
|
||||
touch $@
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
# == defs
|
||||
|
||||
URL_BASE = http://www.kernel.org/pub/linux/utils/boot/syslinux
|
||||
URL_FILE = SYSLINUX_URL
|
||||
URL = $(shell $(CAT) $(URL_FILE))
|
||||
DLOAD_DIR = /home/samba/dat/share/exe/linux/syslinux
|
||||
BUILD_DIR = cd_root
|
||||
DIRS = $(DLOAD_DIR) $(BUILD_DIR)
|
||||
UNPACK_DIR = isolinux
|
||||
ISO_IMAGE ?= image.iso
|
||||
ISOLINUX_BIN = $(UNPACK_DIR)/isolinux.bin
|
||||
MENU_32 = $(UNPACK_DIR)/com32/menu/menu.c32
|
||||
INITRD = /boot/initrd
|
||||
|
||||
CD_FILES = \
|
||||
$(MENU_32) \
|
||||
$(ISOLINUX_BIN)
|
||||
|
||||
define SYSLINUX_BASE
|
||||
$(notdir $(shell $(SED) 's/.tar.bz2$$//' $(URL_FILE)))
|
||||
endef
|
||||
|
||||
# == targets
|
||||
|
||||
all: $(ISO_IMAGE)
|
||||
install:
|
||||
clean: syslinux.clean
|
||||
distclean: clean
|
||||
|
||||
# == rules
|
||||
|
||||
syslinux.clean:
|
||||
$(RM) -rf *.done
|
||||
$(RM) -rf $(BUILD_DIR) $(UNPACK_DIR)
|
||||
$(RM) -f $(ISO_IMAGE) $(URL_FILE) $(URL_FILE).tmp
|
||||
|
||||
dirs.done:
|
||||
mkdir -p $(DIRS)
|
||||
touch $@
|
||||
|
||||
$(URL_FILE):
|
||||
lynx -dump $(URL_BASE) | \
|
||||
$(SED) '/syslinux-.*\.tar\.bz2$$/ !d; s/ .*http:/http:/' |\
|
||||
tail -1 > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
dload.done: $(URL_FILE)
|
||||
wget -c $(shell $(CAT) $<) -P $(DLOAD_DIR)
|
||||
touch $@
|
||||
|
||||
$(MENU_32): unpack.done
|
||||
|
||||
unpack.done: $(URL_FILE) dload.done
|
||||
tar -xjf $(shell echo $(DLOAD_DIR)/$(SYSLINUX_BASE).tar.bz2 | $(SED) 's/ //g')
|
||||
mv $(SYSLINUX_BASE) $(UNPACK_DIR)
|
||||
touch $@
|
||||
|
||||
GENERATE = /bin/bash $(JWB_SCRIPT_DIR)/generate-boot-medium.sh
|
||||
BOOT_CONF = boot.conf
|
||||
|
||||
$(ISO_IMAGE): $(BOOT_CONF) dirs.done $(CD_FILES)
|
||||
$(GENERATE) -o $@ -d $(BUILD_DIR) -f $< $(CD_FILES)
|
||||
17
make/java.mk
17
make/java.mk
|
|
@ -1,17 +0,0 @@
|
|||
JAVA_SRC_DIR ?= .
|
||||
JAVA_SRC ?= $(wildcard $(JAVA_SRC_DIR)/*.java)
|
||||
JAVA_CLASSFILES += $(patsubst %.java,%.class,$(JAVA_SRC))
|
||||
JAVA_CLASSPATH = $(shell echo $(CLASSPATH) | sed 's/ */:/g')
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
all: $(JAVA_CLASSFILES)
|
||||
install:
|
||||
clean: clean.java
|
||||
distclean:
|
||||
|
||||
clean.java:
|
||||
$(RM) -f *.class
|
||||
|
||||
$(JAVA_CLASSFILES): $(JAVA_SRC)
|
||||
CLASSPATH=$(JAVA_CLASSPATH) javac $^
|
||||
31
make/js.mk
31
make/js.mk
|
|
@ -1,31 +0,0 @@
|
|||
JAVA ?= /usr/bin/java
|
||||
JS_MINIFY_FILTER_IN ?= sed 's/console\.[a-z]\+([^)]\+) *;//g'
|
||||
JS_SRC ?= $(filter-out %.min.js,$(wildcard *.js))
|
||||
JS_GENERATED ?= $(patsubst %.js,%.min.js,$(JS_SRC))
|
||||
JS_EXTRA_EXTERNS ?=
|
||||
JS_CC_BUILD_ROOT ?= $(PROJECTS_DIR)/closure-compiler/contrib/closure-compiler/install-root
|
||||
JS_EXTERNS_DIRS ?= $(firstword $(wildcard $(JS_CC_BUILD_ROOT)/$(realpath $(PROJECTS_DIR))/closure-compiler/share/externs /opt/closure-compiler/share/externs))
|
||||
JS_EXTERNS ?= $(sort $(JS_EXTRA_EXTERNS) jquery-3.3.js)
|
||||
JS_EXTERN_PATHS ?= $(wildcard $(foreach d,$(JS_EXTERNS_DIRS),$(addprefix $d/,$(JS_EXTERNS))))
|
||||
JS_MINIFY_OPTS ?= $(addprefix --externs ,$(JS_EXTERN_PATHS)) --compilation_level ADVANCED --strict_mode_input
|
||||
JS_MINIFY_EXE ?= $(JAVA) -jar $(firstword $(wildcard \
|
||||
$(JS_CC_BUILD_ROOT)/usr/share/java/closure-compiler.jar \
|
||||
/usr/share/java/closure-compiler.jar \
|
||||
) closure-compiler.jar-not-found)
|
||||
JS_MINIFY ?= $(JS_MINIFY_EXE) $(JS_MINIFY_OPTS)
|
||||
|
||||
# This is not nice. It requires install-files to be included from elsewhere,
|
||||
# which is not obvious. OTOH, if it isn't, SOURCE_FILES doesn't do any harm,
|
||||
# either.
|
||||
SOURCE_FILES += $(JS_GENERATED)
|
||||
|
||||
all: $(JS_GENERATED)
|
||||
clean: minify.clean
|
||||
|
||||
%.min.js: %.js
|
||||
cat $< | $(JS_MINIFY_FILTER_IN) > $@.filtered
|
||||
$(JS_MINIFY) $@.filtered > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
minify.clean:
|
||||
rm -f $(JS_GENERATED) *.tmp *.filtered
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
# jan's utility modules
|
||||
# (c) 2001-2005 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
LD_LIB_PATH_ENV := $(LD_LIBRARY_PATH)
|
||||
EXE_SEARCH_PATH_ENV := $(PATH)
|
||||
LD_LIB_PATH_LDFLAGS = $(shell echo $(FINAL_LDFLAGS) | $(SED) 's/^-[^L] *[^ ]*/ /g; s/[ ]-[^L] *[^ ]*/ /g; s/-L[ ]*\([^ ]*\)[ ]*/\1:/g')
|
||||
|
||||
ifeq ($(TARGET),mingw)
|
||||
DLL_PATH = $(shell echo $(LD_LIBRARY_PATH) | $(SED) 's/:/;/g');$(CROSS_TOOL_DIR)/bin
|
||||
endif
|
||||
|
||||
#export LD_LIBRARY_PATH = $(shell echo $(strip $(LD_LIB_PATH_LDFLAGS):$(LD_LIB_PATH):$(LD_LIB_PATH_ENV)) | $(SED) 's/ /:/g; s/::/:/g')
|
||||
LD_LIBRARY_PATH := $(call proj_query, ldlibpath $(PROJECT) $(PREREQ_BUILD))
|
||||
export LD_LIBRARY_PATH
|
||||
export PATH := $(call proj_query, exepath $(PROJECT) $(PREREQ_BUILD)):$(EXE_SEARCH_PATH_ENV)
|
||||
96
make/lib.mk
96
make/lib.mk
|
|
@ -1,96 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
all:
|
||||
|
||||
ifeq ($(wildcard $(LIB_A)),)
|
||||
USE_PROJECT_LIB = false
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PROJECT_LIB),false)
|
||||
ifeq ($(TARGET),mingw)
|
||||
SHOBJS += $(wildcard *.dll)
|
||||
else
|
||||
SHOBJS += $(wildcard *.so)
|
||||
endif
|
||||
all: $(LD_CONF)
|
||||
install:
|
||||
else
|
||||
all: $(LD_CONF) $(LIB_SO) $(LINKS_SO) $(MSVCPP_IMPLIB) $(STRIP_DONE)
|
||||
install: install_LIB
|
||||
endif
|
||||
clean: libclean local_libclean clean.ld-conf
|
||||
distclean: clean
|
||||
|
||||
local_libclean: clean.mingw clean.unix clean.all
|
||||
|
||||
ifneq ($(wildcard *.so *.so.*),)
|
||||
install: install_files_LD_CONF
|
||||
endif
|
||||
|
||||
clean.unix:
|
||||
ifneq ($(TARGET),mingw)
|
||||
$(RM) -rf *.so.* *.so st*
|
||||
endif
|
||||
|
||||
clean.mingw:
|
||||
ifeq ($(TARGET),mingw)
|
||||
$(RM) -rf *.dll *.def *.exp *.lib
|
||||
endif
|
||||
|
||||
clean.all:
|
||||
$(RM) -rf *.a *.o *~ st* .*.swp *.done ld-*.conf version.ldscript
|
||||
|
||||
ld-%.conf:
|
||||
echo $(INSTALL_LIBDIR) > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
clean.ld-conf:
|
||||
$(RM) -f $(LD_CONF)
|
||||
|
||||
echo.libs:
|
||||
@echo INSTALLED_LIB_SO = $(INSTALLED_LIB_SO)
|
||||
@echo INSTALLED_LIB = $(INSTALLED_LIB)
|
||||
|
||||
install-links:
|
||||
l=$(shell $(PWD))/$(notdir $(INSTALLED_LIB_SO)) ;\
|
||||
cd $(dir $(INSTALLED_LIB_SO)) &&\
|
||||
sudo ln -sf $$l
|
||||
# ------------------------------------------ contrib libraries
|
||||
# deps on mandatory targets
|
||||
all: $(CONTRIB_LIBS)
|
||||
clean: clean.contrib-libs
|
||||
|
||||
# deps on optional targets
|
||||
echo-contrib: echo.contrib-libs echo.libs
|
||||
|
||||
# rules
|
||||
clean.contrib-libs:
|
||||
$(RM) -f $(CONTRIB_LIBS)
|
||||
|
||||
define contrib_lib_search_rules
|
||||
%.dll: $(1)/%.dll
|
||||
cp -p $$< $$@
|
||||
endef
|
||||
|
||||
$(foreach p,$(CONTRIB_LIBS_PATH),$(eval $(call contrib_lib_search_rules,$(p))))
|
||||
|
||||
echo.contrib-libs:
|
||||
@echo CONTRIB_LIBS_PATH = $(CONTRIB_LIBS_PATH)
|
||||
@echo CONTRIB_LIBS = $(CONTRIB_LIBS)
|
||||
|
||||
ifeq ($(TARGET),mingw)
|
||||
clean.winres:
|
||||
$(RM) -f $(WINRES_RC) $(WINRES_O) *.tmp
|
||||
|
||||
clean: clean.winres
|
||||
#%.o : %.rc
|
||||
# $(WINDRES) $^ -o $@
|
||||
endif
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/tools.mk
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
LY_PDF = $(patsubst %.ly,%.pdf,$(wildcard *.ly))
|
||||
LY_MIDI = $(patsubst %.ly,%.midi,$(wildcard *.ly))
|
||||
|
||||
all: $(LY_PDF)
|
||||
clean: clean.lilypond
|
||||
|
||||
view: $(LY_PDF)
|
||||
kpdf $<
|
||||
|
||||
convert: convert.done
|
||||
|
||||
play: all
|
||||
timidity *.midi
|
||||
|
||||
jack: all
|
||||
timidity -Oj *.midi
|
||||
|
||||
jackview: all
|
||||
make view & make jack
|
||||
|
||||
%.play: %.midi
|
||||
|
||||
%.pdf: %.ly
|
||||
lilypond $<
|
||||
|
||||
clean.lilypond:
|
||||
$(RM) -f *.pdf *.ps *.done *.tmp *.midi
|
||||
|
||||
convert.done:
|
||||
set -e; for o in $(wildcard *.ly); do \
|
||||
echo converting $$o ;\
|
||||
cp $$o $$o.tmp ;\
|
||||
convert-ly $$o.tmp ;\
|
||||
mv $$o.tmp $$o ;\
|
||||
done
|
||||
touch $@
|
||||
|
|
@ -1,215 +0,0 @@
|
|||
# abbreviations
|
||||
define EXTRAVERSION
|
||||
$(shell $(CAT) EXTRAVERSION)
|
||||
endef
|
||||
define COMPLETE_VERSION
|
||||
$(shell $(CAT) COMPLETE_VERSION)
|
||||
endef
|
||||
|
||||
HOST ?= $(HOSTNAME)
|
||||
KERNEL_BASE ?= lx-$(HOST)
|
||||
BOOT_LABEL ?= lx-$(KERNEL_VERSION)-$(RPM_RELEASE)
|
||||
KERNEL_PKG_SUFFIX ?= .tar.gz
|
||||
CUSTOMER ?= jannet
|
||||
KERNEL_DLOAD_DIR ?= /home/samba/dat/exe/linux/os
|
||||
KERNEL_PKG ?= $(KERNEL_DLOAD_DIR)/$(shell echo $(KERNEL_VERSION) | $(SED) 's/\([0-9]\.[0-9]*\)\..*/\1/')/linux-$(shell echo $(KERNEL_VERSION) | $(SED) 's/\(2\.6\.[0-9]+\)-..*/\1/')$(KERNEL_PKG_SUFFIX)
|
||||
UPLOAD_HOST ?= pkg.janware.com
|
||||
UPLOAD_PATH ?= /srv/dav/pub/packages/$(CUSTOMER)/$(KERNEL_BASE)
|
||||
UPLOAD_OWNER ?= $(shell whoami)
|
||||
|
||||
KERNEL_MAJOR = $(shell echo $(KERNEL_VERSION) | cut -d\. -f1)
|
||||
KERNEL_MINOR = $(shell echo $(KERNEL_VERSION) | cut -d\. -f2)
|
||||
KERNEL_RELEASE = $(shell echo $(KERNEL_VERSION) | cut -d\. -f3)
|
||||
KERNEL_PKG_BASE = $(KERNEL_DLOAD_DIR)/$(KERNEL_MAJOR).$(KERNEL_MINOR)/linux-$(KERNEL_VERSION).tar
|
||||
ifneq ($(wildcard $(KERNEL_PKG_BASE).*),)
|
||||
ifneq ($(wildcard $(KERNEL_PKG_BASE).gz),)
|
||||
KERNEL_PKG = $(KERNEL_PKG_BASE).gz
|
||||
KERNEL_SRC_DIR = $(shell tar -tzf $(KERNEL_DIR)/$(KERNEL_PKG) | grep -v pax_global_header | head -1)
|
||||
endif
|
||||
ifneq ($(wildcard $(KERNEL_PKG_BASE).bz2),)
|
||||
KERNEL_PKG = $(KERNEL_PKG_BASE).bz2
|
||||
KERNEL_SRC_DIR = $(shell tar -tjf $(KERNEL_DIR)/$(KERNEL_PKG) | grep -v pax_global_header | head -1)
|
||||
endif
|
||||
else
|
||||
KERNEL_PKG = $(KERNEL_PKG_BASE).bz2
|
||||
KERNEL_SRC_DIR = linux-$(KERNEL_VERSION)
|
||||
endif
|
||||
#HOST = $(shell cd ../..; $(PWD) | xargs basename)
|
||||
WD := $(shell $(PWD))
|
||||
TAG = $(shell echo V_$(KERNEL_VERSION)_$(RPM_RELEASE) | $(SED) 's/\./_/g')
|
||||
ARCH = $(shell $(RPMBUILD) --showrc | $(SED) '/build arch / !d; s/.*build arch *://; s/ //g')
|
||||
|
||||
RPMBUILD = $(shell which rpmbuild 2>/dev/null)
|
||||
ifeq ($(RPMBUILD),)
|
||||
RPMBUILD = $(shell which rpm 2>/dev/null)
|
||||
endif
|
||||
|
||||
#ifeq ($(wildcard RELEASE-$(KERNEL_VERSION)),)
|
||||
#RPM_RELEASE := $(shell make newrelease; exit 1)
|
||||
#else
|
||||
#RPM_RELEASE_NUM := $(strip $(shell grep Id: RELEASE-$(KERNEL_VERSION) | $(SED) "s/.*RELEASE-$(KERNEL_VERSION),v[ ]*[0-9]*\.\([0-9]*\)[^0-9]*.*/\1/"))
|
||||
#ifeq ($(UNAME_SUFFIX),)
|
||||
#RPM_RELEASE = $(RPM_RELEASE_NUM)
|
||||
#else
|
||||
#RPM_RELEASE = $(UNAME_SUFFIX)$(RPM_RELEASE_NUM)
|
||||
#endif
|
||||
#endif
|
||||
BASE = $(KERNEL_BASE)-$(COMPLETE_VERSION)
|
||||
TMP_INSTALL = $(KERNEL_BASE)-$(COMPLETE_VERSION)
|
||||
BASE_RUN = $(KERNEL_BASE)-run-$(COMPLETE_VERSION)
|
||||
BASE_DEVEL = $(KERNEL_BASE)-devel-$(COMPLETE_VERSION)
|
||||
|
||||
ifeq ($(BOOT_LABEL),)
|
||||
BOOT_LABEL = lx-$(COMPLETE_VERSION)
|
||||
endif
|
||||
|
||||
KERNEL_TGZ = $(notdir $(KERNEL_PKG))
|
||||
F_SPEC = $(BASE).spec
|
||||
F_TGZ = $(BASE).tar.gz
|
||||
F_SPM = $(BASE).src.rpm
|
||||
F_RPM_RUN = $(BASE_RUN).$(ARCH).rpm
|
||||
F_RPM_DEVEL = $(BASE_DEVEL).$(ARCH).rpm
|
||||
F_RPMS = $(F_RPM_RUN) $(F_RPM_DEVEL)
|
||||
F_BOOTFILES = $(addsuffix -$(COMPLETE_VERSION),$(addprefix $(TMP_INSTALL)/boot/,vmlinuz config System.map))
|
||||
F_CURRENT = $(addprefix CURRENT_, SRC RPM_SRC RPM_RUN_I386 RPM_DEVEL_I386)
|
||||
F_ULDONE = $(addsuffix .uldone,$(F_RPMS) $(F_TGZ) $(F_SPM) current)
|
||||
# note that order matters for F_ULDONE and F_RPMS (remote directory attributes)
|
||||
KERNEL_INSTALL_PREFIX = $(shell pwd)/$(TMP_INSTALL)
|
||||
|
||||
BUILD = sh $(JWBDIR)/devutil/jcs/build_linux.sh \
|
||||
-c config-$(KERNEL_VERSION) \
|
||||
-t $(HOST) \
|
||||
-b $(WD) \
|
||||
-a i386 \
|
||||
-s $(KERNEL_SRC_DIR) \
|
||||
-i $(TMP_INSTALL)
|
||||
MKSPEC := $(JWBDIR)/devutil/jcs/mkspec-linux.sh
|
||||
|
||||
# exports
|
||||
export KERNEL_VERSION
|
||||
export KERNEL_INSTALL_PREFIX
|
||||
|
||||
# first target
|
||||
all: rpm
|
||||
|
||||
# file rules
|
||||
%.lxdone: config-$(KERNEL_VERSION) $(LOCAL_PRE_BUILD) linux-$(KERNEL_VERSION)/Makefile
|
||||
$(BUILD) $(basename $@)
|
||||
touch $@
|
||||
|
||||
$(TMP_INSTALL)/$(F_SPEC): linux-$(KERNEL_VERSION)/Makefile $(MKSPEC) Makefile
|
||||
sh $(MKSPEC) -d $(TMP_INSTALL) -b $(KERNEL_BASE) -v $(shell echo $(COMPLETE_VERSION) | $(SED) 's/-[0-9][0-9]*.*//') -r $(RPM_RELEASE) -a $(ARCH) -l $(BOOT_LABEL) > $@
|
||||
|
||||
$(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(RPM_RELEASE): build.lxdone $(LOCAL_AFTER_KERNEL_BUILD)
|
||||
@echo -n
|
||||
|
||||
.PRECIOUS: $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)
|
||||
|
||||
$(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(RPM_RELEASE): $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)
|
||||
cp $< $@
|
||||
|
||||
$(F_TGZ): Makefile build.lxdone $(F_BOOTFILES) $(TMP_INSTALL)/$(F_SPEC)
|
||||
tar -czf $@ \
|
||||
$(F_BOOTFILES) \
|
||||
$(addprefix $(TMP_INSTALL)/, \
|
||||
lib \
|
||||
$(F_SPEC) \
|
||||
)
|
||||
|
||||
%.src.rpm: %.tar.gz
|
||||
$(RPMBUILD) -ts $<
|
||||
cp /usr/src/packages/SRPMS/$@ .
|
||||
|
||||
rpm.done: $(F_SPM)
|
||||
$(RPMBUILD) --rebuild $(F_SPM)
|
||||
touch $@
|
||||
|
||||
%.$(ARCH).rpm: rpm.done
|
||||
cp /usr/src/packages/RPMS/$(ARCH)/$@ .
|
||||
|
||||
CURRENT_RPM_RUN_I386: $(F_RPM_RUN)
|
||||
echo $(UPLOAD_PATH)/rpm/run/$(F_RPM_RUN) > $@
|
||||
|
||||
CURRENT_RPM_DEVEL_I386: $(F_RPM_RUN)
|
||||
echo $(UPLOAD_PATH)/rpm/devel/$(F_RPM_DEVEL) > $@
|
||||
|
||||
CURRENT_RPM_SRC: $(F_RPM_RUN)
|
||||
echo $(UPLOAD_PATH)/rpm/src/$(F_RPM_SRC) > $@
|
||||
|
||||
CURRENT_SRC: $(F_RPM_RUN)
|
||||
echo $(UPLOAD_PATH)/src/$(F_TGZ) > $@
|
||||
|
||||
update.done:
|
||||
cvs update -dP
|
||||
make rpm
|
||||
touch $@
|
||||
|
||||
upload.done: $(F_RPMS)
|
||||
touch $@
|
||||
|
||||
%.tar.gz.uldone: %.tar.gz
|
||||
upload.sh $< rsync_ssh://$(UPLOAD_HOST):$(UPLOAD_PATH)/src/$<:640:750:$(UPLOAD_OWNER).$(CUSTOMER)
|
||||
touch $@
|
||||
|
||||
%.src.rpm.uldone: %.src.rpm
|
||||
upload.sh $< rsync_ssh://$(UPLOAD_HOST):$(UPLOAD_PATH)/rpm/src/$<:640:750:$(UPLOAD_OWNER).$(CUSTOMER)
|
||||
touch $@
|
||||
|
||||
%.rpm.uldone: %.rpm
|
||||
upload.sh $< rsync_ssh://$(UPLOAD_HOST):$(UPLOAD_PATH)/rpm/$(shell echo $@ | $(SED) 's/.*\(run\|devel\).*/\1/')/$<:640:750:$(UPLOAD_OWNER).$(CUSTOMER)
|
||||
touch $@
|
||||
|
||||
current.uldone: $(F_CURRENT)
|
||||
upload.sh $^ rsync_ssh://$(UPLOAD_HOST):$(UPLOAD_PATH)/:640:750:$(UPLOAD_OWNER).$(CUSTOMER)
|
||||
touch $@
|
||||
|
||||
tag.done:
|
||||
cvs tag $(TAG)
|
||||
touch $@
|
||||
|
||||
copy-run.done: $(F_RPM_RUN)
|
||||
scp $< root@$(HOST):/root/rpm/
|
||||
touch $@
|
||||
copy-devel.done: $(F_RPM_DEVEL)
|
||||
scp $< root@$(HOST):/root/rpm/
|
||||
touch $@
|
||||
|
||||
ping:
|
||||
ping $(HOST)
|
||||
ssh:
|
||||
$(CVS_RSH) -l root $(HOST)
|
||||
|
||||
# user targets
|
||||
unpack: unpack.done
|
||||
build: build.lxdone
|
||||
driver: driver.done
|
||||
tgz: $(F_TGZ)
|
||||
spm: $(F_SPM)
|
||||
rpm: $(F_RPMS)
|
||||
upload: update.done rpm $(F_ULDONE)
|
||||
tag: tag.done
|
||||
install: build.lxdone install.lxdone
|
||||
copy-run: copy-run.done
|
||||
copy-devel: copy-devel.done
|
||||
copy: copy-run copy-devel
|
||||
patch: patches.done
|
||||
shutdown:
|
||||
$(CVS_RSH) -l root $(HOST) "shutdown -h now"
|
||||
reboot:
|
||||
-l root $(HOST) "reboot"
|
||||
update-rpm: copy
|
||||
$(CVS_RSH) -l root $(HOST) rpm -U $(addprefix rpm/,$(F_RPMS))
|
||||
erase-rpm:
|
||||
$(CVS_RSH) -l root $(HOST) rpm -e $(KERNEL_BASE)-run $(KERNEL_BASE)-devel
|
||||
dist: clean
|
||||
cd ..;\
|
||||
tar -czf kernel.tar.gz `find kernel -maxdepth 1 -type f | grep -ve "setup\|trash\|CVS"`
|
||||
mv ../kernel.tar.gz .
|
||||
clean:
|
||||
$(RM) -rf $(KERNEL_BASE)-*
|
||||
$(RM) -rf install/* reiser.patch *~ *.done *.lxdone *.uldone *.patch *.diff *.rpm *.tar.gz *.tar \
|
||||
$(SCOPE_DRIVER_BASE)
|
||||
$(RM) -rf linux linux-$(KERNEL_VERSION) CURRENT_* pax_global_header
|
||||
$(RM) -f toplevel-makefile EXTRAVERSION COMPLETE_VERSION
|
||||
|
||||
distclean: clean
|
||||
|
|
@ -1,176 +0,0 @@
|
|||
define EXTRAVERSION
|
||||
$(shell $(CAT) EXTRAVERSION)
|
||||
endef
|
||||
|
||||
define COMPLETE_VERSION
|
||||
$(shell $(CAT) COMPLETE_VERSION)
|
||||
endef
|
||||
|
||||
KERNEL_MAJOR = $(shell echo $(KERNEL_VERSION) | cut -d\. -f1)
|
||||
KERNEL_MINOR = $(shell echo $(KERNEL_VERSION) | cut -d\. -f2)
|
||||
KERNEL_RELEASE = $(shell echo $(KERNEL_VERSION) | cut -d\. -f3)
|
||||
KERNEL_DLOAD_DIR ?= /home/samba/dat/share/exe/linux/os
|
||||
KERNEL_PKG_BASE = $(KERNEL_DLOAD_DIR)/$(KERNEL_MAJOR).$(KERNEL_MINOR)/linux-$(KERNEL_VERSION).tar
|
||||
LINUX_KERNEL_PATCH_DIR ?= $(CVS_ROOT_DIR)/conf/jannet.de/all/lx-patches
|
||||
HOST ?= $(HOSTNAME)
|
||||
|
||||
ifneq ($(wildcard $(KERNEL_PKG_BASE).*),)
|
||||
ifneq ($(wildcard $(KERNEL_PKG_BASE).gz),)
|
||||
KERNEL_PKG = $(KERNEL_PKG_BASE).gz
|
||||
KERNEL_SRC_DIR = $(shell tar -tzf $(KERNEL_DIR)/$(KERNEL_PKG) | grep -v pax_global_header | head -1)
|
||||
endif
|
||||
ifneq ($(wildcard $(KERNEL_PKG_BASE).bz2),)
|
||||
KERNEL_PKG = $(KERNEL_PKG_BASE).bz2
|
||||
KERNEL_SRC_DIR = $(shell tar -tjf $(KERNEL_DIR)/$(KERNEL_PKG) | grep -v pax_global_header | head -1)
|
||||
endif
|
||||
else
|
||||
KERNEL_PKG = $(KERNEL_PKG_BASE).bz2
|
||||
KERNEL_SRC_DIR = linux-$(KERNEL_VERSION)
|
||||
endif
|
||||
WD := $(shell $(PWD))
|
||||
TAG = $(shell echo V_$(KERNEL_VERSION)_$(RPM_RELEASE) | $(SED) 's/\./_/g')
|
||||
ARCH = $(shell $(RPMBUILD) --showrc | $(SED) '/build arch / !d; s/.*build arch *://; s/ //g')
|
||||
|
||||
PATCHES += $(wildcard $(LINUX_KERNEL_PATCH_DIR)/*-$(KERNEL_VERSION).patch) \
|
||||
$(wildcard $(LINUX_KERNEL_PATCH_DIR)/*-$(KERNEL_VERSION).diff)
|
||||
LOCAL_PATCHES = $(notdir $(PATCHES))
|
||||
SUBMAKEFILE = $(JWBDIR)/make/linux-rpm-build.mk
|
||||
|
||||
KERNEL_URL = ftp.kernel.org:/pub/linux/kernel/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/linux-$(KERNEL_VERSION).tar.bz2
|
||||
KERNEL_TGZ = $(notdir $(KERNEL_URL))
|
||||
|
||||
# exports
|
||||
export KERNEL_VERSION
|
||||
export KERNEL_INSTALL_PREFIX
|
||||
|
||||
# first target
|
||||
all: rpm
|
||||
install: install.this
|
||||
clean: thisclean
|
||||
distclean: clean
|
||||
|
||||
# file rules
|
||||
$(KERNEL_PKG):
|
||||
mkdir -p $(dir $(KERNEL_PKG))
|
||||
ftp -a $(KERNEL_URL)
|
||||
install -m 664 $(notdir $(KERNEL_PKG)) $@
|
||||
|
||||
EXTRAVERSION: linux-$(KERNEL_VERSION)/Makefile
|
||||
$(SED) '/^ *EXTRAVERSION *=/ !d; s/^ *EXTRAVERSION *= *-*//; s/ *$$//' $< >$@
|
||||
|
||||
COMPLETE_VERSION: EXTRAVERSION
|
||||
#ifeq ($(shell echo $(KERNEL_VERSION) | $(SED) '/[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/ !d'),)
|
||||
# echo -n $(KERNEL_VERSION)-$(EXTRAVERSION) | $(SED) 's/- *$$//' > $@
|
||||
#else
|
||||
echo -n $(KERNEL_MAJOR).$(KERNEL_MINOR).$(KERNEL_RELEASE)$(EXTRAVERSION) > $@
|
||||
#endif
|
||||
|
||||
config-$(KERNEL_VERSION):
|
||||
cp $(shell ls config-$(KERNEL_MAJOR).$(KERNEL_MINOR).* | $(SED) 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]\)[.$$]./\1.\2.0\3/; s/\.\([0-9]\)$$/.0\1/' | sort -g | $(SED) 's/\.0/./g; $$ !d') $@
|
||||
cvs add $@
|
||||
cvs commit $@
|
||||
|
||||
toplevel-makefile: unpack.done patches.done
|
||||
awk -v release=$(RPM_RELEASE) '{ \
|
||||
if ($$0 ~ /EXTRAVERSION *= *-/) { \
|
||||
oldextra=$$3; \
|
||||
gsub(/-/,_,oldextra); \
|
||||
printf "EXTRAVERSION = _%s-%s\n", oldextra, release \
|
||||
} else if ($$0 ~ /EXTRAVERSION *= *\./) { \
|
||||
oldextra=$$3; \
|
||||
gsub(/-/,_,oldextra); \
|
||||
printf "EXTRAVERSION = %s-%s\n",oldextra, release \
|
||||
} else if ($$0 ~ /EXTRAVERSION *= *$$/) { \
|
||||
if (release ~ "^ *$$") { \
|
||||
printf "EXTRAVERSION =\n" \
|
||||
} else { \
|
||||
printf "EXTRAVERSION = -%s\n",release \
|
||||
} \
|
||||
} else { \
|
||||
print $$0 \
|
||||
} \
|
||||
}' linux-$(KERNEL_VERSION)/Makefile >$@
|
||||
|
||||
linux-$(KERNEL_VERSION)/Makefile: toplevel-makefile
|
||||
cp $< $@
|
||||
|
||||
unpack.done: $(KERNEL_PKG)
|
||||
$(RM) -rf linux-$(KERNEL_VERSION)
|
||||
ifeq ($(suffix $(KERNEL_PKG)),.gz)
|
||||
tar -xzf $(KERNEL_PKG)
|
||||
endif
|
||||
ifeq ($(suffix $(KERNEL_PKG)),.bz2)
|
||||
tar -xjf $(KERNEL_PKG)
|
||||
endif
|
||||
ln -s linux-$(KERNEL_VERSION) linux
|
||||
touch $@
|
||||
|
||||
update.done:
|
||||
cvs update -dP
|
||||
make rpm
|
||||
touch $@
|
||||
|
||||
version:
|
||||
date >> RELEASE-$(KERNEL_VERSION)
|
||||
cvs commit -m "$(KERNEL_VERSION)" RELEASE-$(KERNEL_VERSION)
|
||||
exit 1
|
||||
|
||||
patch-%:
|
||||
mkdir -p patches
|
||||
make patches/$*-$(KERNEL_VERSION).patch
|
||||
|
||||
clean-patch-%:
|
||||
$(RM) -f patches/$*-$(KERNEL_VERSION).patch
|
||||
make patches/$*-$(KERNEL_VERSION).patch
|
||||
|
||||
patches/%-$(KERNEL_VERSION).patch:
|
||||
make unpack.done
|
||||
export LANG=en_US ;\
|
||||
diff --exclude=CVS --unidirectional-new-file -aur \
|
||||
linux-$(KERNEL_VERSION) linux-$(KERNEL_VERSION)-$* | \
|
||||
grep -vie "^Nur in \|Only in " > $@.part; exit 0
|
||||
mv $@.part $@
|
||||
|
||||
patches.done: unpack.done $(addsuffix .done,$(notdir $(PATCHES)))
|
||||
touch $@
|
||||
|
||||
%.patch.done: %.patch
|
||||
patch -d linux-$(KERNEL_VERSION) -p1 < $<
|
||||
touch $@
|
||||
|
||||
%.diff.done: %.diff
|
||||
patch -d linux-$(KERNEL_VERSION) -p1 < $<
|
||||
touch $@
|
||||
|
||||
%.patch:
|
||||
make $(filter %/$@,$(PATCHES))
|
||||
cp $(filter %/$@,$(PATCHES)) $@
|
||||
|
||||
%.diff:
|
||||
make $(filter %/$@,$(PATCHES))
|
||||
cp $(filter %/$@,$(PATCHES)) $@
|
||||
|
||||
unpack: unpack.done
|
||||
patch: patches.done
|
||||
prepare: unpack patch EXTRAVERSION COMPLETE_VERSION
|
||||
install: all
|
||||
|
||||
DEFERRED_TARGETS = \
|
||||
current.uldone ping ssh build \
|
||||
tgz spm rpm upload tag copy-run copy-devel copy \
|
||||
shutdown reboot update-rpm erase-rpm
|
||||
|
||||
$(DEFERRED_TARGETS): prepare
|
||||
make -f $(JWBDIR)/make/linux-rpm-build.mk $@
|
||||
thisclean:
|
||||
touch EXTRAVERSION COMPLETE_VERSION
|
||||
make -f $(SUBMAKEFILE) clean
|
||||
|
||||
install.this:
|
||||
make -f $(SUBMAKEFILE) install
|
||||
|
||||
export \
|
||||
TOPDIR JWBDIR KERNEL_VERSION RPM_RELEASE HOST KERNEL_PKG_SUFFIX CUSTOMER \
|
||||
KERNEL_BASE_DIR KERNEL_PKG KERNEL_BASE UPLOAD_HOST UPLOAD_PATH \
|
||||
UPLOAD_OWNER BOOT_LABEL BOOT_LABEL PATCHES KERNEL_MAJOR KERNEL_MINOR \
|
||||
KERNEL_RELEASE WD
|
||||
72
make/lo.mk
72
make/lo.mk
|
|
@ -1,72 +0,0 @@
|
|||
# === pre-define these >
|
||||
TOOLS_DIR ?= $(TOPDIR)/tools
|
||||
TOOLS_INCLUDE_DIR ?= $(TOOLS_DIR)
|
||||
CPP_PREFIX ?= YLo
|
||||
CPP_SUFFIX ?=
|
||||
SO_PREFIX ?= lo_
|
||||
LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK
|
||||
LOADABLE_OBJ_IGNORE ?=
|
||||
# === pre-define these <
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
include $(JWBDIR)/make/profiler-defs.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
.PRECIOUS: %.cpp %.o
|
||||
LOADABLE_OBJS_HEADER ?= $(wildcard $(TOOLS_INCLUDE_DIR)/$(CPP_PREFIX)*$(CPP_SUFFIX).h)
|
||||
LOADABLE_OBJS_BASE ?= $(patsubst %$(CPP_SUFFIX),%,$(patsubst $(CPP_PREFIX)%,%,$(basename $(notdir $(LOADABLE_OBJS_HEADER)))))
|
||||
LOADABLE_OBJS = $(filter-out $(LOADABLE_OBJ_IGNORE),$(LOADABLE_OBJS_BASE))
|
||||
LOADABLE_OBJ_CPP = $(patsubst %,%.cpp,$(LOADABLE_OBJS))
|
||||
LOADABLE_OBJS_O = $(patsubst %,%.o,$(LOADABLE_OBJS))
|
||||
|
||||
OTHER_CPP_IGNORE += $(patsubst %,$(CPP_PREFIX)%.cpp,$(LOADABLE_OBJ_IGNORE)) $(patsubst %,%.cpp,$(LOADABLE_OBJ_IGNORE))
|
||||
SRC_ALL_CPP_IGNORE += $(OTHER_CPP_IGNORE)
|
||||
OTHER_CPP ?= $(filter-out $(LOADABLE_OBJ_CPP) $(OTHER_CPP_IGNORE),$(wildcard *.cpp))
|
||||
ifneq ($(OTHER_CPP),)
|
||||
OTHER_O = $(patsubst %.cpp,%.o,$(OTHER_CPP))
|
||||
OTHER_LIB = liblocal.a
|
||||
OTHER_LIB_LDFLAGS = -L. -llocal
|
||||
OTHER_MEMBERS_O = $(OTHER_LIB)($(OTHER_O))
|
||||
endif
|
||||
|
||||
ifneq ($(TARGET),mingw)
|
||||
LOADABLE_OBJ_LIBS = $(addprefix $(SO_PREFIX), $(addsuffix .so, $(LOADABLE_OBJS)))
|
||||
else
|
||||
LOADABLE_OBJ_LIBS = $(addprefix $(SO_PREFIX), $(addsuffix .dll, $(LOADABLE_OBJS)))
|
||||
endif
|
||||
BUILD_LOADABLE_OBJ_LIBS = $(addprefix $(BUILD_LIBDIR)/,$(LOADABLE_OBJ_LIBS))
|
||||
INSTALLED_LOADABLE_OBJ_LIBS = $(addprefix $(INSTALL_LIBDIR)/,$(LOADABLE_OBJ_LIBS))
|
||||
|
||||
all: $(LOADABLE_OBJ_LIBS) $(BUILD_LOADABLE_OBJ_LIBS)
|
||||
install: $(INSTALLED_LOADABLE_OBJ_LIBS)
|
||||
clean: clean.lo
|
||||
|
||||
clean.generated:
|
||||
$(RM) -f $(patsubst $(CPP_PREFIX)%$(CPP_SUFFIX),%,$(notdir $(patsubst %.h,%.cpp,$(LOADABLE_OBJS_HEADER))))
|
||||
|
||||
clean.lo: profclean clean.generated
|
||||
$(RM) -f $(wildcard *.o *.so *.done *.dll $(OTHER_LIB))
|
||||
|
||||
$(SO_PREFIX)%.so $(SO_PREFIX)%.dll: %.o $(CPP_PREFIX)%.o $(OTHER_LIB)
|
||||
$(CXX) $^ -L. $(OTHER_LIB_LDFLAGS) -shared $(FINAL_LDFLAGS) -o $@
|
||||
|
||||
%.cpp: $(TOOLS_INCLUDE_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)$*$(CPP_SUFFIX));" >> $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
$(OTHER_LIB)(%.o): %.o
|
||||
$(AR) rU $(OTHER_LIB) $<
|
||||
$(RANLIB) $(OTHER_LIB)
|
||||
|
||||
$(OTHER_LIB): $(OTHER_MEMBERS_O)
|
||||
|
||||
$(BUILD_LIBDIR)/%.so: %.so
|
||||
install -m 755 $< $@
|
||||
$(BUILD_LIBDIR)/%.dll: %.dll
|
||||
install -m 755 $< $@
|
||||
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/depend.mk
|
||||
10
make/main.mk
10
make/main.mk
|
|
@ -1,10 +0,0 @@
|
|||
EXE = $(PROJECT)
|
||||
|
||||
ifneq ($(TARGET),mingw)
|
||||
FINAL_LDFLAGS += -rdynamic
|
||||
endif
|
||||
|
||||
include $(JWBDIR)/make/exe.mk
|
||||
|
||||
all:
|
||||
clean: profclean
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
#PROJECT ?= $(shell cd $(TOPDIR); /bin/pwd | xargs notdir)
|
||||
|
||||
#define mcu_check_var
|
||||
# ifeq ($($(1)),)
|
||||
# $(error $(1) not specified)
|
||||
# endif
|
||||
#endef
|
||||
|
||||
#ifneq ($(MAKECMDGOALS),clean)
|
||||
# ifeq ($(MCU_BOARD_MODEL),)
|
||||
# $(error MCU_BOARD_MODEL not specified)
|
||||
# endif
|
||||
#
|
||||
# ifeq ($(MCU_FLASH_OFFSET),)
|
||||
# $(error MCU_FLASH_OFFSET not specified)
|
||||
# endif
|
||||
#
|
||||
# ifeq ($(MCU_FLASH_SIZE),)
|
||||
# $(error MCU_FLASH_SIZE not specified)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
MCU_PRODUCT_TMPL_DIR ?= $(JWBDIR)/tmpl/products
|
||||
|
||||
ifneq ($(TARGET_PRODUCT),)
|
||||
MCU_BOARD_MODEL_LC ?= $(TARGET_PRODUCT)
|
||||
MCU_BOARD ?= $(TARGET_PRODUCT)
|
||||
MCU_BOARD_LC ?= $(TARGET_PRODUCT)
|
||||
else
|
||||
MCU_BOARD_MODEL_LC ?= $(shell $(ECHO) $(MCU_BOARD_MODEL) | $(TR) '[A-Z]' '[a-z]')
|
||||
MCU_BOARD ?= $(MCU_BOARD_MODEL)
|
||||
MCU_BOARD_LC ?= $(shell $(ECHO) $(MCU_BOARD) | $(TR) '[A-Z]' '[a-z]')
|
||||
endif
|
||||
|
||||
MCU_OPENOCD_CFG_DEFAULT_SEARCH_PATH ?= $(TOPDIR)/make
|
||||
MCU_OPENOCD_CFG_SEARCH_PATH ?= $(MCU_OPENOCD_CFG_DEFAULT_SEARCH_PATH)
|
||||
MCU_OPENOCD_CFG_FILE ?= $(info looking for $(MCU_OPENOCD_CFG_NAME) in $(MCU_OPENOCD_CFG_SEARCH_PATH)) $(call find_file,$(MCU_OPENOCD_CFG_NAME),$(MCU_OPENOCD_CFG_SEARCH_PATH))
|
||||
MCU_OPENOCD_TELNET_PORT ?= 4444
|
||||
MCU_OPENOCD_OPTS ?= -f $(MCU_OPENOCD_CFG_FILE) -c "echo \"Started by jw-build\"" -c "gdb_port 3333" -c "telnet_port $(MCU_OPENOCD_TELNET_PORT)" -c "tcl_port 6666"
|
||||
MCU_OPENOCD_BIN ?= openocd
|
||||
MCU_OPENOCD ?= $(MCU_OPENOCD_BIN) $(MCU_OPENOCD_OPTS) $(MCU_OPENOCD_EXTRA_OPTS)
|
||||
|
||||
# -- direct flash access
|
||||
MCU_FLASH_BANK ?= 0
|
||||
#MCU_FLASH_OFFSET ?= 0x0000000
|
||||
#MCU_FLASH_SIZE ?= 0x5000
|
||||
|
||||
MCU_FLASH_FILE_BASE ?= $(MCU_BOARD_LC)-flash-$(MCU_FLASH_BANK_NAME)
|
||||
MCU_FLASH_FILE_BIN ?= $(MCU_FLASH_FILE_BASE).bin
|
||||
MCU_FLASH_FILE_HEX ?= $(MCU_FLASH_FILE_BASE).hex
|
||||
|
||||
MCU_FLASH_FETCH_BANK ?= $(MCU_FLASH_BANK)
|
||||
MCU_FLASH_FETCH_FILE_BIN ?= $(MCU_FLASH_FILE_BIN)
|
||||
MCU_FLASH_FETCH_FILE_HEX ?= $(MCU_FLASH_FILE_HEX)
|
||||
MCU_FLASH_FETCH_OFFSET ?= $(MCU_FLASH_OFFSET)
|
||||
MCU_FLASH_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
|
||||
MCU_FLASH_PUSH_BANK ?= $(MCU_FLASH_BANK)
|
||||
MCU_FLASH_PUSH_FILE_BIN ?= $(MCU_FLASH_FILE_BIN)
|
||||
MCU_FLASH_PUSH_FILE_HEX ?= $(MCU_FLASH_FILE_HEX)
|
||||
MCU_FLASH_PUSH_OFFSET ?= $(MCU_FLASH_OFFSET)
|
||||
MCU_FLASH_PUSH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
|
||||
# -- direct memory access
|
||||
MCU_MEM_FETCH_FILE_BIN ?= $(MCU_MEM_FILE_BIN)
|
||||
MCU_MEM_FETCH_FILE_HEX ?= $(MCU_MEM_FILE_HEX)
|
||||
MCU_MEM_FETCH_OFFSET ?= $(MCU_FLASH_OFFSET)
|
||||
MCU_MEM_FETCH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
|
||||
MCU_MEM_PUSH_FILE_BIN ?= $(MCU_MEM_FILE_BIN)
|
||||
MCU_MEM_PUSH_FILE_HEX ?= $(MCU_MEM_FILE_HEX)
|
||||
MCU_MEM_PUSH_OFFSET ?= $(MCU_FLASH_OFFSET)
|
||||
MCU_MEM_PUSH_SIZE ?= $(MCU_FLASH_SIZE)
|
||||
|
||||
MCU_MEM_FILE_BASE ?= $(MCU_BOARD_LC)-mem-$(MCU_MEM_FETCH_OFFSET)-$(MCU_MEM_FETCH_SIZE)
|
||||
MCU_MEM_FILE_BIN ?= $(MCU_MEM_FILE_BASE).bin
|
||||
MCU_MEM_FILE_HEX ?= $(MCU_MEM_FILE_BASE).hex
|
||||
|
||||
ifneq ($(MCU_MEM_FETCH_OFFSET),)
|
||||
MCU_OBJCOPY_FETCH_OPTS += --change-addresses $(MCU_MEM_FETCH_OFFSET)
|
||||
endif
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
DIR_BASENAME = $(notdir $(CWD))
|
||||
|
||||
ifeq ($(EXE_BASENAME),)
|
||||
ifneq ($(DIR_BASENAME),test)
|
||||
EXE_BASENAME = $(EXE_BASENAME_PREFIX)$(DIR_BASENAME).elf
|
||||
else
|
||||
EXE_BASENAME = $(EXE_BASENAME_PREFIX)test-$(notdir $(shell cd ..; $(PWD))).elf
|
||||
endif
|
||||
endif
|
||||
|
||||
MCU_FLASH_PUSH_FILE_HEX ?= $(patsubst %.elf,%.hex,$(EXE_BASENAME))
|
||||
EXE_MAP ?= $(patsubst %.elf,%.map,$(EXE_BASENAME))
|
||||
|
||||
# I think these (or something equivalent) should go somewhere here. Not cleaned
|
||||
# up enough in modm builds to do it.
|
||||
#include $(JWBDIR)/make/defs.mk
|
||||
#include $(JWBDIR)/make/defs-cpp.mk
|
||||
|
||||
include $(JWBDIR)/make/mcu-defs.mk
|
||||
include $(JWBDIR)/make/exe.mk
|
||||
include $(JWBDIR)/make/mcu-flash.mk
|
||||
|
||||
all: $(MCU_FLASH_PUSH_FILE_HEX)
|
||||
|
||||
clean: mcu-exe.clean
|
||||
|
||||
mcu-exe.clean:
|
||||
rm -f $(EXE_MAP)
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
.PHONY: flash-fetch flash-push flash-clean-fetch flash-clean-push
|
||||
|
||||
all:
|
||||
|
||||
flash-fetch: $(MCU_FLASH_FETCH_FILE_HEX)
|
||||
flash-fetch-mem: $(MCU_MEM_FETCH_FILE_HEX)
|
||||
clean: flash-clean-fetch
|
||||
flash-clean-fetch:
|
||||
$(RM) -f -- $(MCU_FLASH_FETCH_FILE_BIN) $(MCU_FLASH_FETCH_FILE_HEX) *.tmp
|
||||
$(RM) -f -- $(MCU_MEM_FETCH_FILE_BIN) $(MCU_MEM_FETCH_FILE_HEX)
|
||||
flash-clean-push:
|
||||
$(RM) -f -- $(MCU_FLASH_PUSH_FILE_BIN) $(MCU_FLASH_PUSH_FILE_HEX) *.tmp
|
||||
$(RM) -f -- $(MCU_MEM_PUSH_FILE_BIN) $(MCU_MEM_PUSH_FILE_HEX)
|
||||
flash-clean: flash-clean-fetch flash-clean-push
|
||||
$(MCU_FLASH_FETCH_FILE_BIN):
|
||||
$(TIME) $(MCU_OPENOCD) -c "init" -c "reset init" -c "flash read_bank $(MCU_FLASH_FETCH_BANK) $@.tmp $(MCU_FLASH_FETCH_OFFSET) $(MCU_FLASH_FETCH_SIZE)" -c "exit"
|
||||
$(MV) $@.tmp $@
|
||||
$(MCU_MEM_FETCH_FILE_BIN):
|
||||
$(MCU_OPENOCD) -c "init" -c "reset init" -c "dump_image $@.tmp $(MCU_MEM_FETCH_OFFSET) $(MCU_MEM_FETCH_SIZE)" -c "exit"
|
||||
$(MV) $@.tmp $@
|
||||
%.hex: %.elf
|
||||
$(OBJCOPY) -O ihex $< $@.tmp
|
||||
$(MV) $@.tmp $@
|
||||
clean: flash-clean-hex
|
||||
flash-clean-hex:
|
||||
$(RM) -rf $(MCU_FLASH_PUSH_FILE_HEX)
|
||||
%.hex: %.bin
|
||||
$(OBJCOPY) $(MCU_OBJCOPY_FETCH_OPTS) -I binary -O ihex $< $@.tmp
|
||||
$(MV) $@.tmp $@
|
||||
flash-push: $(MCU_FLASH_PUSH_FILE_HEX)
|
||||
# see http://openocd.org/doc/html/Flash-Programming.html
|
||||
$(TIME) $(MCU_OPENOCD) -c "program $< verify reset exit $(MCU_FLASH_PUSH_OFFSET)"
|
||||
%-flash-push:
|
||||
MCU_FLASH_PUSH_FILE_HEX=$* make flash-push
|
||||
|
||||
openocd:
|
||||
$(MCU_OPENOCD)
|
||||
openocd-bg:
|
||||
$(MCU_OPENOCD) &
|
||||
openocd-reset-bg:
|
||||
$(MCU_OPENOCD) -c "init" -c "reset init" &
|
||||
openocd-kill:
|
||||
killall $(MCU_OPENOCD_BIN)
|
||||
openocd-telnet:
|
||||
telnet localhost $(MCU_OPENOCD_TELNET_PORT)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
include $(JWBDIR)/make/mcu-defs.mk
|
||||
include $(JWBDIR)/make/topdir.mk
|
||||
include $(JWBDIR)/make/mcu-flash.mk
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
all:
|
||||
libpath:
|
||||
@echo "export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)"
|
||||
@echo "export PATH=.:$(PATH)"
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
IS_PLUGIN = true
|
||||
USE_PLUGIN_VERSION_LIB ?= true
|
||||
PLUGIN_API ?= $(notdir $(shell cd ..; $(PWD)))
|
||||
PLUGIN_NAME ?= $(notdir $(shell $(PWD)))
|
||||
PLUGIN_PREFIX ?= feedfs
|
||||
|
||||
ifneq ($(TARGET),mingw)
|
||||
PLUGIN_SUFFIX ?= so
|
||||
else
|
||||
PLUGIN_SUFFIX ?= dll
|
||||
endif
|
||||
|
||||
ifneq ($(PLUGIN_PREFIX),)
|
||||
PLUGIN_PREFIX_ = $(PLUGIN_PREFIX)_
|
||||
endif
|
||||
|
||||
PLUGIN_PREFIX_AND_API ?= $(PLUGIN_PREFIX_)$(PLUGIN_API)
|
||||
PLUGIN ?= $(PLUGIN_PREFIX_AND_API)_$(PLUGIN_NAME).$(PLUGIN_SUFFIX)
|
||||
|
||||
FINAL_CPPFLAGS += -D PLUGIN_NAME=$(PLUGIN_NAME) -D PLUGIN_NAME_STR=\"$(PLUGIN_NAME)\"
|
||||
|
||||
ifeq ($(USE_PLUGIN_VERSION_LIB),true)
|
||||
PLUGIN_VERSION_LIB_BASENAME = $(PLUGIN_PREFIX_AND_API)_version
|
||||
PLUGIN_VERSION_LIB = $(BUILD_LIBDIR)/lib$(PLUGIN_VERSION_LIB_BASENAME).a
|
||||
#INSTALLED_PLUGIN_VERSION_LIB = $(INSTALL_LIBDIR)/lib$(PLUGIN_VERSION_LIB_BASENAME).a
|
||||
FINAL_LDFLAGS += -Wl,--whole-archive -l$(PLUGIN_VERSION_LIB_BASENAME) -Wl,--no-whole-archive
|
||||
endif
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
include $(JWBDIR)/make/plugin-defs.mk
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
|
||||
all: $(PLUGIN_VERSION_LIB)
|
||||
install:
|
||||
clean: clean.local
|
||||
distclean:
|
||||
|
||||
version.o: version.cpp
|
||||
$(CXX) $(FINAL_CXXFLAGS) $(FINAL_CPPFLAGS) -o $@ -c $<
|
||||
|
||||
clean.local:
|
||||
$(RM) -f version.o
|
||||
|
||||
$(PLUGIN_VERSION_LIB): version.o
|
||||
ar r $@ $<
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
include $(JWBDIR)/make/debugger.mk
|
||||
include $(JWBDIR)/make/ldlibpath.mk
|
||||
include $(JWBDIR)/make/plugin-defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/depend.mk
|
||||
include $(JWBDIR)/make/backup.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
FINAL_CXXFLAGS += -D_PLUGIN
|
||||
FINAL_CFLAGS += -D_PLUGIN
|
||||
|
||||
all: build_LIB
|
||||
install: install_LIB
|
||||
clean: execlean localclean profclean
|
||||
distclean: clean
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
PREREQ_INSTALLED_TARGETS += run gdb valgrind attach attach-strace libpath valgrind strace debug lldb echo-deps shortcut check-conf
|
||||
|
||||
ifneq ($(filter $(PREREQ_INSTALLED_TARGETS),$(MAKECMDGOALS)),)
|
||||
PREREQ_BUILD += $(shell ls /etc/ld.so.conf.d | sed '/ld-.*.conf/ !d; s/ld-\(.*\).conf/\1/')
|
||||
endif
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
PATH_PROFILE ?= path-$(PROJECT).sh
|
||||
EXE_SH =
|
||||
|
||||
ifeq ($(PROFILE),)
|
||||
PROFILE = $(PATH_PROFILE)
|
||||
endif
|
||||
|
||||
PROFILE += $(filter-out $(PATH_PROFILE),$(wildcard *.sh))
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
all: $(PROFILE)
|
||||
install: install_files_PROFILE
|
||||
clean: allclean localclean doneclean textclean clean.profile
|
||||
|
||||
path-%.sh:
|
||||
@echo "export PATH=\$$PATH:$(INSTALL_EXEDIR)" > $@.tmp
|
||||
mv $@.tmp $@
|
||||
clean.profile:
|
||||
/bin/bash $(JWB_SCRIPT_DIR)/scm.sh clean -f $(PROFILE)
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
all:
|
||||
clean:
|
||||
|
||||
PROF_EXE_PATH ?= $(EXE_PATH)
|
||||
CALLGRIND_OUT ?= callgrind.out
|
||||
OPROF_OUT_DIR ?= oprofile-data
|
||||
|
||||
ifeq ($(USE_GPROF),true)
|
||||
FINAL_CXXFLAGS += -pg
|
||||
FINAL_CFLAGS += -pg
|
||||
FINAL_LDFLAGS += -pg
|
||||
clean: clean.gprof
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILER_SUITE),gcc)
|
||||
ifeq ($(USE_GCOV),true)
|
||||
FINAL_CXXFLAGS += -fprofile-arcs -ftest-coverage
|
||||
FINAL_CFLAGS += -fprofile-arcs -ftest-coverage
|
||||
FINAL_LDFLAGS += -fprofile-arcs -ftest-coverage
|
||||
clean: clean.gcov
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILER_SUITE),clang)
|
||||
ifeq ($(USE_XRAY),true)
|
||||
FINAL_CXXFLAGS += -fxray-instrument -fxray-instruction-threshold=1
|
||||
FINAL_CFLAGS += -fxray-instrument -fxray-instruction-threshold=1
|
||||
#FINAL_LDFLAGS += -fxray-instrument
|
||||
endif
|
||||
endif
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
# ---- callgrind
|
||||
|
||||
clean: clean.callgrind
|
||||
|
||||
callgrind: run-deps
|
||||
$(RM) -f core.*
|
||||
valgrind --tool=callgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
||||
callgrind-noinst: run-deps
|
||||
$(RM) -f core.*
|
||||
valgrind --tool=callgrind --callgrind-out-file=$(CALLGRIND_OUT) --instr-atstart=no $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
||||
$(CALLGRIND_OUT): callgrind
|
||||
kcachegrind: $(CALLGRIND_OUT)
|
||||
kcachegrind $<
|
||||
callgrind-startinst:
|
||||
ps aux | grep callgrind | grep -v "grep\|make\|callgrind_control" | awk '{print $$2}' | xargs callgrind_control --instr=on
|
||||
callgrind-stopinst:
|
||||
ps aux | grep callgrind | grep -v "grep\|make\|callgrind_control" | awk '{print $$2}' | xargs callgrind_control --instr=off
|
||||
callgrind-dump:
|
||||
ps aux | grep callgrind | grep -v "grep\|make\|callgrind_control" | awk '{print $$2}' | xargs callgrind_control --dump
|
||||
clean.callgrind:
|
||||
$(RM) -f $(CALLGRIND_OUT)
|
||||
|
||||
# ---- oprofile
|
||||
|
||||
clean: clean.oprof
|
||||
|
||||
operf: | $(OPROF_OUT_DIR)
|
||||
|
||||
$(OPROF_OUT_DIR):
|
||||
mkdir -p $@
|
||||
oprof-setup:
|
||||
echo 0 | sudo tee /proc/sys/kernel/kptr_restrict
|
||||
echo 0 | sudo tee /proc/sys/kernel/perf_event_paranoid
|
||||
oprof-callgraph.txt:
|
||||
opreport --session-dir $(OPROF_OUT_DIR) --callgraph > $@.tmp
|
||||
mv $@.tmp $@
|
||||
oprof-view-callgraph-txt: oprof-callgraph.txt
|
||||
less -S $<
|
||||
oprof-callgraph.dot: oprof-callgraph.txt
|
||||
cat $< | gprof2dot -f oprofile > $@.tmp
|
||||
mv $@.tmp $@
|
||||
oprof-callgraph.pdf: oprof-callgraph.dot
|
||||
dot -Tpdf $< -o $@.tmp
|
||||
mv $@.tmp $@
|
||||
oprof-view-callgraph-pdf: oprof-callgraph.pdf
|
||||
okular $<
|
||||
oprof-view-callgraph-dot: oprof-callgraph.dot
|
||||
xdot $<
|
||||
|
||||
#operf: operf.txt
|
||||
#operf.txt:
|
||||
# operf --session-dir $(OPROF_OUT_DIR) $(PROF_CMD)
|
||||
#operf-view-txt: operf.txt
|
||||
# less -S $<
|
||||
#operf-callgraph.pdf: gmon.out
|
||||
# operf $(PROF_EXE_PATH) | operf2dot | dot -Tpdf -o $@.tmp
|
||||
# mv $@.tmp $@
|
||||
#operf-pdf: operf-callgraph.pdf
|
||||
|
||||
clean.oprof:
|
||||
$(RM) -rf $(OPROF_OUT_DIR) oprof-callgraph.txt oprof-callgraph.pdf oprof-callgraph.dot
|
||||
|
||||
# ---- gcov
|
||||
|
||||
clean.gcov:
|
||||
$(RM) -f *.gcda *.gcov
|
||||
|
||||
# ---- gprof
|
||||
|
||||
clean: clean.gprof
|
||||
gprof: gprof.txt
|
||||
gprof.txt:
|
||||
gprof $(PROF_EXE_PATH) > $@.tmp
|
||||
mv $@.tmp $@
|
||||
gprof-view-txt: gprof.txt
|
||||
less -S $<
|
||||
gprof-callgraph.pdf: gmon.out
|
||||
gprof $(PROF_EXE_PATH) | gprof2dot | dot -Tpdf -o $@.tmp
|
||||
mv $@.tmp $@
|
||||
gprof-pdf: gprof-callgraph.pdf
|
||||
gprof-view-callgraph-pdf: gprof-callgraph.pdf
|
||||
okular $<
|
||||
clean.gprof:
|
||||
$(RM) -f gmon.out gprof.txt *.tmp gprof-callgraph.pdf
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
include $(JWBDIR)/make/profiler-defs.mk
|
||||
include $(JWBDIR)/make/profiler-rules-run.mk
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
CAP_PROJECT := $(shell echo $(PROJECT) | tr [a-z] [A-Z])
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
$(CAP_PROJECT)_VERSION := $(VERSION)
|
||||
$(CAP_PROJECT)_INSTALL_LIBDIR := $(INSTALL_LIBDIR)
|
||||
$(CAP_PROJECT)_TOPDIR := $(TOPDIR)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
all:
|
||||
|
||||
include $(JWBDIR)/make/projects-dir.mk
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
#
|
||||
# SPDX-License-Identifier: LGPL-2.0-only
|
||||
#
|
||||
# Makefile for managing multiple software repositories in one tree
|
||||
#
|
||||
# (C) Copyright 2001-2025, Jan Lindemann <jan@janware.com>
|
||||
#
|
||||
# This is the top-level Makefile for a janware software build tree. It is
|
||||
# provided under the terms of the GNU Lesser Public License, Version 2.
|
||||
#
|
||||
# Some of its targets download software from janware GmbH servers. For those,
|
||||
# you will need a janware.com user account. Ask admin@janware.com if you want
|
||||
# one, then define the JANWARE_USER = <janware user name> environment variable.
|
||||
#
|
||||
# Current documentation on how this Makefile is meant to be used can be found
|
||||
# under https://janware.com/wiki/pub/en/sw/build/. Running "make help" might
|
||||
# take you there semi-automatically.
|
||||
#
|
||||
|
||||
PROJECTS_MAKEFILE_NAME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
||||
JWBDIR_GIT_REMOTE ?= ssh://$(JANWARE_USER)@git.janware.com/srv/git/jan/proj/jw-build
|
||||
JWBDIR ?= $(notdir $(JWBDIR_GIT_REMOTE))
|
||||
PROJECTS_DIR_INCLUDE_MK = $(JWBDIR)/make/projects-dir-include.mk
|
||||
|
||||
ifndef JANWARE_USER
|
||||
JANWARE_USER = $(shell id -un)
|
||||
$(warning Assuming JANWARE_USER=$(JANWARE_USER) from id -un)
|
||||
$(warning Explicitly set environment variable JANWARE_USER to turn off this warning!)
|
||||
endif
|
||||
|
||||
-include local.mk
|
||||
|
||||
all:
|
||||
|
||||
include $(PROJECTS_DIR_INCLUDE_MK)
|
||||
|
||||
$(PROJECTS_DIR_INCLUDE_MK):
|
||||
git clone $(JWBDIR_GIT_REMOTE) $(JWBDIR)
|
||||
[ -L $(PROJECTS_MAKEFILE_NAME) ] || \
|
||||
ln -sf `find $(JWBDIR) -type f -print0 | xargs -0 grep -l some-random-string-to-id-this-makefile` \
|
||||
$(PROJECTS_MAKEFILE_NAME)
|
||||
|
|
@ -1,442 +0,0 @@
|
|||
#
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Manage multiple software repositories in one tree
|
||||
#
|
||||
# (C) Copyright 2001-2019, Jan Lindemann <jan@janware.com>
|
||||
#
|
||||
# This is the top-level Makefile for a janware software build tree. It is
|
||||
# provided under the terms of the GNU Lesser Public License, Version 2.
|
||||
#
|
||||
# Some of its targets download software from janware GmbH servers. For those,
|
||||
# you will need a janware.com user account. Ask admin@janware.com if you want
|
||||
# one, then define the JANWARE_USER = <janware user name> environment variable.
|
||||
#
|
||||
# Current documentation on how this Makefile is meant to be used can be found
|
||||
# under https://janware.com/wiki/pub/en/sw/build/. Running "make help" might
|
||||
# take you there semi-automatically.
|
||||
#
|
||||
|
||||
# ------------ Makefile and environment variable definitions
|
||||
|
||||
.NOTPARALLEL:
|
||||
|
||||
-include local.mk
|
||||
PROJECTS_MAKEFILE_NAME ?= $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
|
||||
|
||||
# -- Find JWBDIR
|
||||
DEV_PROJECTS_DIR ?= .
|
||||
JWBDIR_NAME ?= jw-build
|
||||
JWBDIR_SEARCH_PATH ?= $(DEV_PROJECTS_DIR) $(BUILD_TOOLS_PREFIX)/opt/$(FLAVOUR_PATH_PREFIX)
|
||||
JWBDIR ?= $(firstword $(wildcard $(addsuffix /$(JWBDIR_NAME),$(JWBDIR_SEARCH_PATH))))
|
||||
|
||||
JW_BUILD_BINDIR = $(JWBDIR)/bin
|
||||
JWB_SCRIPT_DIR = $(firstword $(wildcard ./$(JWBDIR_NAME)/scripts $(JW_BUILD_BINDIR)) jwb-script-dir-not-found)
|
||||
JW_BUILD_REMOTE_BINDIR = /opt/jw-build/bin
|
||||
|
||||
SHELL = /bin/bash -o pipefail +H
|
||||
PROJECTS_TXT ?= projects.txt
|
||||
JW_BUILD_VERBOSE ?= false
|
||||
BASE_PKGS = git cvs make sudo time time xdg-utils python3
|
||||
PREREQ_RELEASE ?= pull
|
||||
|
||||
# ------------ evaluate Makefile and environment variables
|
||||
|
||||
ifneq ($(wildcard $(PROJECTS_TXT)),)
|
||||
PROJECTS ?= $(shell cat $(PROJECTS_TXT) | sed '/^ *\#/ d')
|
||||
else
|
||||
PROJECTS ?= $(shell ls -d */GNUmakefile */Makefile 2>/dev/null | sed 's%/[^/]*%%' | sort -u)
|
||||
endif
|
||||
|
||||
ifeq ($(JW_BUILD_VERBOSE),true)
|
||||
SSH_WRAPPER_TRACE ?= -x
|
||||
endif
|
||||
|
||||
export JW_BUILD_VERBOSE
|
||||
|
||||
# ------------ external programs I
|
||||
|
||||
CWD := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||||
GET_OS_SH = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/get-os.sh $(JW_BUILD_BINDIR)/get-os.sh) get-os-sh-not-found)
|
||||
SSH_WRAPPER_SH := $(CWD)/ssh-wrapper.sh
|
||||
|
||||
EXCLUDES_FILE ?= exclude.txt
|
||||
EXCLUDES_FILES = $(wildcard exclude-$(shell $(GET_OS_SH) name 2>/dev/null).txt exclude-$(shell $(GET_OS_SH) 2>/dev/null).txt $(EXCLUDES_FILE))
|
||||
ifneq ($(EXCLUDES_FILES),)
|
||||
EXCLUDE_FROM_BUILD += $(shell sed 's/\#.*//g' $(EXCLUDES_FILES))
|
||||
endif
|
||||
OFFLINE_PROJECTS ?= $(EXCLUDE_FROM_BUILD)
|
||||
|
||||
TEXT_FILES_CACHE ?= text-files.txt
|
||||
|
||||
ifndef JANWARE_USER
|
||||
ifneq ($(wildcard CVS/Root),)
|
||||
JANWARE_USER = $(shell sed '/^:ext/ !d; s/:ext:\([^@]\+\)@.*/\1/' CVS/Root)
|
||||
$(warning Assuming JANWARE_USER=$(JANWARE_USER) from CVS/Root)
|
||||
else
|
||||
JANWARE_USER = $(shell id -un)
|
||||
$(warning Assuming JANWARE_USER=$(JANWARE_USER) from id -un)
|
||||
endif
|
||||
$(warning Explicitly set environment variable JANWARE_USER to turn off this warning!)
|
||||
endif
|
||||
|
||||
ifeq ($(JANWARE_USER),)
|
||||
OFFLINE ?= true
|
||||
else
|
||||
export JANWARE_USER
|
||||
endif
|
||||
|
||||
ifeq ($(OFFLINE),true)
|
||||
UNAVAILABLE_TARGETS ?= pull.done update.done clone.done
|
||||
else
|
||||
UNAVAILABLE_TARGETS ?=
|
||||
export CVSROOT = :ext:$(JANWARE_USER)@cvs.janware.com:/srv/cvs
|
||||
endif
|
||||
|
||||
ifneq ($(JW_BUILD_SSH),)
|
||||
export CVS_RSH := $(JW_BUILD_SSH)
|
||||
else
|
||||
export CVS_RSH := $(SSH_WRAPPER_SH)
|
||||
endif
|
||||
|
||||
export GIT_SSH := $(CVS_RSH)
|
||||
ifeq ($(filter pkg-%,$(MAKECMDGOALS)),)
|
||||
export JW_BUILD_SSH_EXTRA_OPTS += -o StrictHostKeyChecking=no -o ControlMaster=auto -o ControlPath=/tmp/%r@jw-build:%h:%p -o ControlPersist=3m -l $(JANWARE_USER)
|
||||
endif
|
||||
|
||||
ifneq ($(CLONE_FROM_USER),)
|
||||
export PGIT_CLONE_FROM_USER = $(CLONE_FROM_USER)
|
||||
else
|
||||
export PGIT_CLONE_FROM_USER = $(JANWARE_USER)
|
||||
endif
|
||||
|
||||
ifneq ($(OFFLINE_PROJECTS),)
|
||||
export PGIT_IGNORE = $(OFFLINE_PROJECTS)
|
||||
endif
|
||||
|
||||
ifneq ($(EXCLUDE_FROM_BUILD),)
|
||||
PROJECTS_PY_EXTRA_BUILD_OPTS += --exclude "$(EXCLUDE_FROM_BUILD)"
|
||||
endif
|
||||
|
||||
# non-interactive mode
|
||||
INTERACTIVE ?= true
|
||||
ifneq ($(INTERACTIVE),true)
|
||||
DASH_Y := -y
|
||||
endif
|
||||
|
||||
# ------------ external programs II
|
||||
|
||||
BROWSER ?= xdg-open
|
||||
EDITOR ?= xdg-open
|
||||
ifeq ($(TIME),)
|
||||
TIME = $(shell which time) -p
|
||||
endif
|
||||
PROJECTS_PY = python3 $(JWB_SCRIPT_DIR)/projects.py --prefix $(shell pwd) $(PROJECTS_PY_EXTRA_OPTS)
|
||||
PROJECTS_PY_BUILD = $(PROJECTS_PY) build $(PROJECTS_PY_EXTRA_BUILD_OPTS)
|
||||
PGIT_SH = /bin/bash $(JWB_SCRIPT_DIR)/pgit.sh
|
||||
PURGE_SH = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/purge-stale-projects.sh $(JW_BUILD_BINDIR)/purge-stale-projects.sh) purge-not-found)
|
||||
PKG_MANAGER_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/pkg-manager.sh $(JW_BUILD_BINDIR)/pkg-manager.sh) pkg-manager-not-found)
|
||||
CREATE_PROJECT_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/jw-build-create-project.sh $(JW_BUILD_BINDIR)/jw-build-create-project.sh) jw-build-create-project-not-found)
|
||||
LIST_VCS_FILES_SH = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/scm.sh $(JW_BUILD_BINDIR)/scm.sh) scm-sh-not-found) ls-files
|
||||
JW_PKG = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/jw-pkg $(JW_BUILD_BINDIR)/jw-pkg) jw-pkg-not-found)
|
||||
GIT_SRV_ADMIN_SH = JW_BUILD_SSH_EXTRA_OPTS="$(JW_BUILD_SSH_EXTRA_OPTS)" $(GIT_SSH) $(JANWARE_USER)@git.janware.com $(JW_BUILD_REMOTE_BINDIR)/git-srv-admin.sh
|
||||
CVS_ADMIN_SH = JW_BUILD_SSH_EXTRA_OPTS="$(JW_BUILD_SSH_EXTRA_OPTS)" $(GIT_SSH) $(JANWARE_USER)@cvs.janware.com $(JW_BUILD_REMOTE_BINDIR)/cvs-admin.sh
|
||||
|
||||
# ------------ projects to be built
|
||||
|
||||
TARGET_PROJECTS = $(filter-out $(EXCLUDE_FROM_BUILD),$(PROJECTS))
|
||||
BUILD_PROJECTS = $(shell $(PROJECTS_PY_BUILD) --build-order all $(TARGET_PROJECTS))
|
||||
GIT_PROJECTS = $(patsubst %/,%,$(dir $(wildcard $(addsuffix /.git,$(BUILD_PROJECTS)))))
|
||||
CVS_PROJECTS = $(patsubst %/,%,$(dir $(wildcard $(addsuffix /CVS,$(BUILD_PROJECTS)))))
|
||||
|
||||
# ------------ targets
|
||||
|
||||
# --- mandatory targets
|
||||
|
||||
all: $(filter-out $(UNAVAILABLE_TARGETS),pull.done)
|
||||
$(TIME) $(PROJECTS_PY_BUILD) $@ $(TARGET_PROJECTS)
|
||||
clean: clean-dirs
|
||||
distclean: clean-all-dirs done.clean
|
||||
install:
|
||||
@echo
|
||||
@echo " Target install is not supported by this Makefile."
|
||||
@echo " Target pkg-rebuild-reinstall might be what you are looking for."
|
||||
@echo
|
||||
@exit 1
|
||||
|
||||
# --- build targets
|
||||
|
||||
rebuild: clean purge pull subdirs-all
|
||||
|
||||
subdirs-%:
|
||||
FORCE_REBUILD_SUBDIRS=true make $*
|
||||
|
||||
# --- informative-only targets
|
||||
|
||||
help doc-project doc-module:
|
||||
$(BROWSER) $(firstword $(shell sed '/https:/ !d; s%.*https%https%; s/ .*//' $(firstword $(MAKEFILE_LIST))))
|
||||
|
||||
status: $(SSH_WRAPPER_SH)
|
||||
for p in $(CVS_PROJECTS); do test -f $$d/CVS || echo $$p; done
|
||||
cvs status $(addsuffix VERSION,$(CVS_PROJECTS))
|
||||
$(PGIT_SH) -uno status
|
||||
|
||||
build-order-%: $(filter-out $(UNAVAILABLE_TARGETS),pull.done)
|
||||
$(PROJECTS_PY_BUILD) --build-order $* $(TARGET_PROJECTS) | sed 's/ */\n/g'
|
||||
|
||||
build-order: build-order-all
|
||||
|
||||
echo-build-deps:
|
||||
@$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build" $(TARGET_PROJECTS)
|
||||
|
||||
echo-install-deps:
|
||||
@$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build run" $(TARGET_PROJECTS)
|
||||
|
||||
echo-release-deps:
|
||||
@$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build run release" $(TARGET_PROJECTS)
|
||||
echo-os:
|
||||
@$(GET_OS_SH)
|
||||
|
||||
echo-projects:
|
||||
@echo $(PROJECTS)
|
||||
|
||||
echo-target-projects:
|
||||
@echo $(TARGET_PROJECTS)
|
||||
|
||||
echo-excludes:
|
||||
@echo $(EXCLUDE_FROM_BUILD)
|
||||
|
||||
edit-%: | $(TEXT_FILES_CACHE)
|
||||
$(EDITOR) $(shell grep "/$*$$" $(TEXT_FILES_CACHE))
|
||||
|
||||
distclean: clean.text-files-cache
|
||||
clean.text-files-cache:
|
||||
rm -f $(TEXT_FILES_CACHE)
|
||||
list-files:
|
||||
@realpath PROJECTS_MAKEFILE_NAME
|
||||
@for p in $(BUILD_PROJECTS); do \
|
||||
$(LIST_VCS_FILES_SH) -znf $$p | sed -z "s/^/$$p\//" | \
|
||||
xargs -0 realpath ;\
|
||||
done
|
||||
$(TEXT_FILES_CACHE):
|
||||
@make -s text-files-update
|
||||
text-files-update:
|
||||
make -s --no-print-directory list-files | tr '\n' '\0' | xargs -0 file -N | sed "/:.*text/I !d; s/:.*//" > $(TEXT_FILES_CACHE).tmp
|
||||
mv $(TEXT_FILES_CACHE).tmp $(TEXT_FILES_CACHE)
|
||||
text-files-update-all:
|
||||
@PROJECTS_TXT= make text-files-update
|
||||
text-files-list list-text-files: | $(TEXT_FILES_CACHE)
|
||||
@cat $(TEXT_FILES_CACHE)
|
||||
text-files-list-0 list-text-files-0: | $(TEXT_FILES_CACHE)
|
||||
@cat $(TEXT_FILES_CACHE) | tr '\n' '\0'
|
||||
|
||||
cloc:
|
||||
for p in $(GIT_PROJECTS); do \
|
||||
git -C $$p submodule status | sed "s|^ *\([^ ]\+\) \+\([^ ]\+\) *.*|$$p/\2|" ;\
|
||||
done > cloc-ignore.txt
|
||||
for p in $(foreach s,dist include bin lib,$(addsuffix /$s,$(BUILD_PROJECTS))); do \
|
||||
echo $$p >> cloc-ignore.txt ;\
|
||||
done
|
||||
cloc --exclude-list-file=cloc-ignore.txt $(BUILD_PROJECTS)
|
||||
|
||||
# --- package-related targets
|
||||
|
||||
pkg-manager-refresh:
|
||||
$(PKG_MANAGER_SH) refresh $(DASH_Y)
|
||||
|
||||
pkg-install-build-deps:
|
||||
$(PKG_MANAGER_SH) install $(DASH_Y) "$(BASE_PKGS) $(shell $(PROJECTS_PY) required-os-pkg --skip-excluded --flavours build $(TARGET_PROJECTS))"
|
||||
|
||||
pkg-install-release-deps:
|
||||
$(PKG_MANAGER_SH) install $(DASH_Y) "$(BASE_PKGS) $(shell $(PROJECTS_PY) required-os-pkg --skip-excluded --flavours 'build run release' $(TARGET_PROJECTS))"
|
||||
|
||||
pkg-exclude-built-today:
|
||||
touch $(EXCLUDES_FILE)
|
||||
$(JW_PKG) built-today > built-today.tmp
|
||||
cat $(EXCLUDES_FILE) built-today.tmp | sed 's/ */\n/g' | sort -u > $(EXCLUDES_FILE).tmp
|
||||
mv $(EXCLUDES_FILE).tmp $(EXCLUDES_FILE)
|
||||
distclean: clean.pkg-exclude-built-today
|
||||
clean.pkg-exclude-built-today:
|
||||
rm -f $(EXCLUDES_FILE).tmp built-today.tmp
|
||||
|
||||
pkg-exclude-installed:
|
||||
$(JW_PKG) list-projects | while read p; do sed -i "s/^# *$$p$$/$$p/" $(EXCLUDES_FILE) ; done
|
||||
|
||||
pkg-list-groups:
|
||||
@find . -name project.conf | xargs sed '/^ *group *=/!d; s/group *= *//; s/"//g' | sort -u
|
||||
|
||||
pkg-release-reinstall: $(PREREQ_RELEASE)
|
||||
|
||||
pkg-release-all:
|
||||
/bin/bash ./packager-client/scripts/packager-client-2.sh
|
||||
|
||||
pkg-fetch-from-%:
|
||||
ssh $* /opt/jw-base/bin/jw-pkg list -s > $(PROJECTS_TXT).tmp
|
||||
mv $(PROJECTS_TXT).tmp $(PROJECTS_TXT)
|
||||
|
||||
pkg-init-%:
|
||||
$(CREATE_PROJECT_SH) $*
|
||||
|
||||
pkg-%: $(filter-out $(UNAVAILABLE_TARGETS),pull.done)
|
||||
$(PROJECTS_PY_BUILD) $@ $(TARGET_PROJECTS)
|
||||
|
||||
# --- generic cleanup targets
|
||||
|
||||
clean-dirs:
|
||||
echo $(sort $(dir $(wildcard */*.done))) | xargs -r $(PROJECTS_PY_BUILD) clean
|
||||
|
||||
clean-all-dirs:
|
||||
$(PROJECTS_PY_BUILD) clean $(PROJECTS)
|
||||
make clean-dirs
|
||||
|
||||
purge: $(SSH_WRAPPER_SH)
|
||||
ifneq ($(PURGE_SH),/bin/bash purge-not-found)
|
||||
$(PURGE_SH)
|
||||
endif
|
||||
|
||||
$(PROJECTS_TXT):
|
||||
echo $(PROJECTS) | sed 's/ /\n/g; s%/%%g' > $@
|
||||
|
||||
done.clean:
|
||||
rm -f *.done
|
||||
|
||||
# --- collab targets
|
||||
|
||||
list-maintainers: $(SSH_WRAPPER_SH)
|
||||
$(GIT_SRV_ADMIN_SH) $@
|
||||
|
||||
update pull: purge cvs-update git-clone
|
||||
touch pull.done
|
||||
|
||||
sync: pull push
|
||||
|
||||
sync-all: pull-all push-all
|
||||
|
||||
sync-%:
|
||||
ssh $* make -C $(shell pwd) sync
|
||||
|
||||
pull-all: purge cvs-update git-clone git-pull-all
|
||||
touch clone.done
|
||||
touch pull.done
|
||||
|
||||
diff-all diff: $(SSH_WRAPPER_SH)
|
||||
cvs diff -u; $(PGIT_SH) diff
|
||||
|
||||
cvs-diff: $(SSH_WRAPPER_SH)
|
||||
cvs diff -u
|
||||
|
||||
cvs-update: $(SSH_WRAPPER_SH)
|
||||
rm -f $@.done
|
||||
make $@.done
|
||||
|
||||
git-push push: $(SSH_WRAPPER_SH)
|
||||
$(PGIT_SH) push
|
||||
|
||||
git-push-all: $(SSH_WRAPPER_SH)
|
||||
$(PGIT_SH) push --all --recurse-submodules=on-demand
|
||||
|
||||
git-diff: $(SSH_WRAPPER_SH)
|
||||
$(PGIT_SH) diff
|
||||
|
||||
git-short-diff: $(SSH_WRAPPER_SH)
|
||||
$(PGIT_SH) diff --shortstat
|
||||
|
||||
git-status:
|
||||
$(PGIT_SH) status -uno
|
||||
|
||||
|
||||
git-pull: $(SSH_WRAPPER_SH)
|
||||
$(PGIT_SH) clone
|
||||
|
||||
git-pull-mini: $(SSH_WRAPPER_SH)
|
||||
PGIT_CLONE_PROJECTS="$(patsubst %/.git,%,$(wildcard $(addsuffix /.git,$(shell make -s build-order))))" $(PGIT_SH) clone
|
||||
|
||||
git-pull-all: $(SSH_WRAPPER_SH)
|
||||
$(PGIT_SH) pull --all
|
||||
|
||||
git-clone: $(SSH_WRAPPER_SH)
|
||||
$(PGIT_SH) clone
|
||||
touch clone.done
|
||||
|
||||
git-clone-%: $(SSH_WRAPPER_SH)
|
||||
PGIT_CLONE_FROM_USER=$* $(PGIT_SH) clone
|
||||
|
||||
git-show-non-master-branches:
|
||||
@$(PGIT_SH) branch 2>&1 | \
|
||||
sed '/^#\|^*/!d; s/.*git -C //; s/ *branch *//; s/ *\* *//' | \
|
||||
while read p; do \
|
||||
read b ;\
|
||||
if [ "$$b" != "master" ]; then \
|
||||
echo " * $$p: $$b" ;\
|
||||
fi ;\
|
||||
done
|
||||
|
||||
# git-echo-link-<filename> returns a string functioning as hyperlink to
|
||||
# matching files in git when embedded into a janware wiki or ticket.
|
||||
git-echo-links-%: | $(TEXT_FILES_CACHE)
|
||||
sed "/$*$$/!d; s%$(CWD)%%; s|^|\n \[\[jgit>/proj/$(JANWARE_USER)/|; s/$$/|$*\]\]\n/" $(TEXT_FILES_CACHE)
|
||||
|
||||
git-update-project-descriptions: $(SSH_WRAPPER_SH)
|
||||
$(GIT_SRV_ADMIN_SH) -j update-descriptions all
|
||||
|
||||
git-pull-%: $(SSH_WRAPPER_SH) cvs-update.done
|
||||
PGIT_CLONE_FROM_USER=$* $(PGIT_SH) clone
|
||||
|
||||
git-commit:
|
||||
$(PGIT_SH) commit
|
||||
|
||||
git-conv-%: $(SSH_WRAPPER_SH)
|
||||
[ -e $*/.git ] || { \
|
||||
mv $* old/ ;\
|
||||
if PROJECTS="$*" make clone; then \
|
||||
sed -i "/^D\/$*\// d" CVS/Entries ;\
|
||||
else \
|
||||
mv old/$* . ;\
|
||||
fi \
|
||||
}
|
||||
|
||||
git-check-conv: $(SSH_WRAPPER_SH)
|
||||
for p in `$(GIT_SRV_ADMIN_SH) -u jan -j list-personal-projects`; do \
|
||||
make git-conv-$$p ;\
|
||||
done
|
||||
|
||||
# --- rules
|
||||
|
||||
$(SSH_WRAPPER_SH): $(PROJECTS_MAKEFILE_NAME)
|
||||
/bin/echo -e '#!/bin/bash $(SSH_WRAPPER_TRACE)\n\nexec /usr/bin/ssh $$JW_BUILD_SSH_EXTRA_OPTS "$$@"' > $@.tmp
|
||||
chmod 700 $@.tmp
|
||||
mv $@.tmp $@
|
||||
ssh-wrapper: $(SSH_WRAPPER_SH)
|
||||
clean.ssh-wrapper:
|
||||
rm -f $(SSH_WRAPPER_SH)
|
||||
distclean: clean.ssh-wrapper
|
||||
|
||||
define check_cvs_user
|
||||
@if ! grep -q ":ext:$(JANWARE_USER)@" CVS/Root; then \
|
||||
echo "Wrong username in CVS/Root, change that to: $(CVSROOT)" ;\
|
||||
exit 1; \
|
||||
fi
|
||||
endef
|
||||
|
||||
cvsdir.done: $(SSH_WRAPPER_SH)
|
||||
if [ ! -d CVS ]; then \
|
||||
mkdir CVS && \
|
||||
echo $(CVSROOT) > CVS/Root && \
|
||||
echo proj > CVS/Repository && \
|
||||
touch CVS/Entries ;\
|
||||
fi
|
||||
touch $@
|
||||
|
||||
cvs-update.done: cvsdir.done $(SSH_WRAPPER_SH)
|
||||
$(check_cvs_user)
|
||||
cvs update -dP Makefile $(shell $(CVS_ADMIN_SH) list-projects)
|
||||
touch $@
|
||||
|
||||
update.done: purge
|
||||
|
||||
pull.done: $(filter-out $(UNAVAILABLE_TARGETS),cvs-update.done clone.done)
|
||||
touch $@
|
||||
|
||||
clone.done: $(filter-out $(UNAVAILABLE_TARGETS),$(SSH_WRAPPER_SH))
|
||||
$(PGIT_SH) clone
|
||||
touch $@
|
||||
119
make/py-defs.mk
119
make/py-defs.mk
|
|
@ -1,119 +0,0 @@
|
|||
ENV_PYTHONPATH := $(PYTHONPATH)
|
||||
|
||||
include $(JWBDIR)/make/py-version.mk
|
||||
|
||||
ifeq ($(DEVELOPMENT),true)
|
||||
PY_SITE_PACKAGES_PATH := $(PREFIX)/python$(PYTHON_VERSION)/site-packages
|
||||
else
|
||||
PY_SITE_PACKAGES_PATH := $(shell $(PYTHON) -c "import site; print([d for d in site.getsitepackages() if d.find('/local/') == -1][0])")
|
||||
endif
|
||||
|
||||
ifndef PY_PREREQ_BUILD
|
||||
PY_PREREQ_BUILD := $(shell $(proj_query_cmd) pkg-requires --subsections jw -d ' ' -p --no-version build $(PROJECT))
|
||||
endif
|
||||
|
||||
ifndef PY_PREREQ_BUILD_DIRS
|
||||
PY_PREREQ_BUILD_DIRS := $(shell $(proj_query_cmd) proj-dir $(PY_PREREQ_BUILD))
|
||||
endif
|
||||
|
||||
PY_MYPY ?= mypy --ignore-missing-imports --no-namespace-packages
|
||||
|
||||
PY_SRC_PY ?= $(wildcard *.py)
|
||||
PY_ALL_PY = $(PY_SRC_PY)
|
||||
|
||||
ifneq ($(PYTHON_MAJOR),3)
|
||||
PY_PYC = $(patsubst %.py,%.pyc,$(PY_ALL_PY))
|
||||
else
|
||||
PY_CPYTHON_PREFIX := $(shell $(PYTHON) -c "import sys; print('cpython-{}{}'.format(sys.version_info[0],sys.version_info[1]))")
|
||||
PY_PYC = $(patsubst %.py,__pycache__/%.$(PY_CPYTHON_PREFIX).pyc,$(PY_ALL_PY))
|
||||
endif
|
||||
|
||||
ifneq ($(PY_INSTALL_DIR),)
|
||||
PY_INSTALL_DIR_PY ?= $(PY_INSTALL_DIR)
|
||||
endif
|
||||
|
||||
# deduce PY_INSTALL_DIR_PY from working directory below .. python/
|
||||
ifeq ($(PY_INSTALL_DIR_PY),)
|
||||
PY_INSTALL_PKG_MOD ?= $(shell $(ECHO) $(CWD) | $(SED) 's%.*/python/%%; s%/.*%%')
|
||||
PY_INSTALL_SUB_MOD ?= $(shell $(ECHO) $(CWD) | $(SED) "s%.*/$(PY_INSTALL_PKG_MOD)\(/\|$$\)%%")
|
||||
ifneq ($(PY_INSTALL_SUB_MOD),)
|
||||
PY_INSTALL_MOD ?= $(PY_INSTALL_PKG_MOD)/$(PY_INSTALL_SUB_MOD)
|
||||
else
|
||||
PY_INSTALL_MOD ?= $(PY_INSTALL_PKG_MOD)
|
||||
endif
|
||||
PY_MOD ?= $(subst /,.,$(PY_INSTALL_MOD))
|
||||
PY_ALL_PY += __init__.py
|
||||
PY_INSTALL_DIR_PY ?= $(ENV_PREFIX)$(PY_SITE_PACKAGES_PATH)/$(patsubst .,/,$(PY_INSTALL_MOD))
|
||||
else
|
||||
ifeq ($(PY_INSTALL_DIR_PY),)
|
||||
$(error PY_INSTALL_DIR_PY is undefined)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(PYTHON_MAJOR),3)
|
||||
PY_INSTALL_DIR_PYC ?= $(PY_INSTALL_DIR_PY)/__pycache__
|
||||
else
|
||||
PY_INSTALL_DIR_PYC ?= $(PY_INSTALL_DIR_PY)
|
||||
endif
|
||||
|
||||
PY_INSTALL ?= true
|
||||
PY_INSTALL_REG ?= true
|
||||
ifneq ($(PY_INSTALL),true)
|
||||
PY_INSTALL_REG = false
|
||||
endif
|
||||
PY_INSTALL_PYC ?= true
|
||||
ifneq ($(PY_INSTALL_REG),true)
|
||||
PY_INSTALL_PYC = false
|
||||
endif
|
||||
|
||||
PY_INSTALL_DIRS ?= $(sort $(PY_INSTALL_DIR_PY) $(PY_INSTALL_DIR_PYC))
|
||||
PY_INSTALLED_PY = $(addprefix $(PY_INSTALL_DIR_PY)/,$(sort $(PY_ALL_PY)))
|
||||
ifeq ($(PY_INSTALL_PYC),true)
|
||||
PY_INSTALLED_PYC = $(addprefix $(PY_INSTALL_DIR_PY)/,$(PY_PYC))
|
||||
endif
|
||||
ifeq ($(PY_INSTALL_REG),true)
|
||||
PY_INSTALLED_REG = $(PY_INSTALLED_PY) $(PY_INSTALLED_PYC)
|
||||
endif
|
||||
|
||||
ifeq ($(origin PYTHONPATH),undefined)
|
||||
PYTHONPATH := $(call proj_query, pythonpath $(PROJECT) $(PY_PREREQ_RUN))
|
||||
endif
|
||||
#PYTHONPATH = $(subst $(space),,$(ENV_PYTHONPATH)$(foreach d,$(PY_MODULE_DIRS),:$(d)))
|
||||
MYPYPATH = $(PYTHONPATH)
|
||||
export PYTHONPATH MYPYPATH
|
||||
|
||||
# not used anywhere
|
||||
#PY_PROJ_MODULE_DIRS ?= $(wildcard $(foreach subdir,/tools/python /src/python,$(addsuffix $(subdir),$(TOPDIR) $(PY_PREREQ_BUILD_DIRS))))
|
||||
#PY_MODULE_DIRS ?= $(PY_PROJ_MODULE_DIRS)
|
||||
#PY_MODULES ?= $(PY_PROJ_MODULES)
|
||||
#PY_PROJ_MODULES += $(dir $(wildcard $(PY_MODULE_DIRS)/*/__init__.py))
|
||||
|
||||
ifneq ($(PY_DEFS_MK_INCLUDED),true)
|
||||
all:
|
||||
clean: pyc.clean
|
||||
|
||||
echo-py:
|
||||
@echo "PYTHON = $(PYTHON)"
|
||||
@echo "PY_INSTALL_DIR_PY = $(PY_INSTALL_DIR_PY)"
|
||||
@echo "PROJECT = $(PROJECT)"
|
||||
@echo "PY_SITE_PACKAGES_PATH = $(PY_SITE_PACKAGES_PATH)"
|
||||
@echo "PY_MODULES = $(PY_MODULES)"
|
||||
@echo "PYTHONPATH = $(PYTHONPATH)"
|
||||
@echo "MYPYPATH = $(MYPYPATH)"
|
||||
@echo "PY_INSTALL_MOD = $(PY_INSTALL_MOD)"
|
||||
@echo "PY_INSTALL_SUB_MOD = $(PY_INSTALL_SUB_MOD)"
|
||||
# not used anywhere"
|
||||
#@echo "PY_PROJ_MODULE_DIRS = $(PY_PROJ_MODULE_DIRS)"
|
||||
#@echo "PY_MODULE_DIRS = $(PY_MODULE_DIRS)"
|
||||
|
||||
pyc.clean:
|
||||
$(RM) -rf $(wildcard *.pyc) __pycache__
|
||||
libpath: py-libpath
|
||||
py-libpath:
|
||||
@echo export PYTHONPATH=$(PYTHONPATH)
|
||||
@echo export MYPYPATH=$(MYPYPATH)
|
||||
endif
|
||||
|
||||
PY_DEFS_MK_INCLUDED := true
|
||||
|
||||
include $(JWBDIR)/make/ldlibpath.mk
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/py-defs.mk
|
||||
include $(JWBDIR)/make/dirs.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
PY_INIT_TMPL = $(wildcard __init__.py.tmpl)
|
||||
PY_SED_EXTRACT_EXPORT ?= /\(\(class\|def\)\s\+[a-zA-Z_].*\|^ *\S\+\s*=.*\)\# *export/ !d; /^\s*\#/ d; s/\(async\)* *\(class\|def\) *//; s/[(:=].*//
|
||||
PY_INIT_FILTER ?= cat
|
||||
|
||||
#leftparen := (
|
||||
#PY_EXPORT ?= $(shell sed '/\(class\|def\) ..*\# *export/ !d; s/\(class\|def\) *//; s/[$(leftparen):].*//' $(PY_SRC_PY))
|
||||
|
||||
all: $(PY_PYC)
|
||||
install: install-dirs.done install-reg.done
|
||||
clean: py.clean
|
||||
distclean:
|
||||
|
||||
include $(JWBDIR)/make/py-rules.mk
|
||||
|
||||
__init__.py: $(PY_INIT_TMPL) $(filter-out __init__.py,$(PY_SRC_PY))
|
||||
if [ "$(PY_INIT_TMPL)" ]; then cat "$(PY_INIT_TMPL)" > $@.tmp; else > $@.tmp; fi
|
||||
/bin/bash +H $(JWB_SCRIPT_DIR)/python-tools.sh create-init -m $(PY_MOD) -e "$(PY_SED_EXTRACT_EXPORT)" \
|
||||
$(filter-out __init__.py,$(PY_ALL_PY)) $(SUBDIRS_TO_ITERATE) | $(PY_INIT_FILTER) | tee -a $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/py-defs.mk
|
||||
include $(JWBDIR)/make/dirs.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
include $(JWBDIR)/make/py-rules.mk
|
||||
|
||||
all:
|
||||
install:
|
||||
clean: py.clean
|
||||
distclean:
|
||||
|
||||
ifeq ($(PY_RUN_CHECK_AFTER_BUILD),true)
|
||||
all: check
|
||||
endif
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
all:
|
||||
|
||||
py.clean:
|
||||
$(RM) -f *.done *.pyc *.rep
|
||||
/bin/bash $(JWB_SCRIPT_DIR)/scm.sh clean -f __init__.py
|
||||
$(RM) -rf __pycache__ .mypy_cache
|
||||
|
||||
install-dirs.done:
|
||||
$(INSTALL) -d -m $(PYJWBDIRMODE) -o $(PYJWBDIROWNER) -g $(PYJWBDIRGROUP) $(PY_INSTALL_DIRS)
|
||||
touch $@
|
||||
|
||||
install-reg.done: install-dirs.done $(PY_INSTALLED_REG)
|
||||
touch $@
|
||||
|
||||
$(PY_INSTALL_DIR_PY)/%.py: %.py
|
||||
$(INSTALL) -p -m $(PYMODMODE) -o $(PYMODOWNER) -g $(PYMODGROUP) $< $@
|
||||
|
||||
ifneq ($(PYTHON_MAJOR),3)
|
||||
%.pyc: %.py
|
||||
else
|
||||
__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: %.py
|
||||
endif
|
||||
$(PYTHON) -c "import py_compile; py_compile.compile(\"$<\", doraise=True)"
|
||||
|
||||
ifeq ($(PYTHON_MAJOR),3)
|
||||
$(PY_INSTALL_DIR_PY)/__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: __pycache__/%.$(PY_CPYTHON_PREFIX).pyc
|
||||
else
|
||||
$(PY_INSTALL_DIR_PY)/%.pyc: %.pyc
|
||||
endif
|
||||
$(INSTALL) -p -m $(PYMODMODE) -o $(PYMODOWNER) -g $(PYMODGROUP) $< $@
|
||||
|
||||
check:
|
||||
$(PY_MYPY) $(shell /bin/bash $(JWB_SCRIPT_DIR)/scm.sh ls-files | grep '\.py$$')
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/py-defs.mk
|
||||
#include $(JWBDIR)/make/scripts-targets.mk
|
||||
#include $(JWBDIR)/make/rules.mk
|
||||
|
||||
EXE ?= $(firstword $(wildcard main.py runme.py test.py *.py))
|
||||
EXE_ARGS ?=
|
||||
|
||||
all:
|
||||
install:
|
||||
clean:
|
||||
distclean:
|
||||
test:
|
||||
|
||||
run:
|
||||
$(PYTHON) $(EXE) $(EXE_ARGS)
|
||||
|
||||
run.sh:
|
||||
echo -e "#!/bin/bash\n\nexport PYTHONPATH=$(PYTHONPATH)\nset -x\nexec $(PYTHON) $(EXE)" '"$$@"' > $@.tmp
|
||||
chmod 755 $@.tmp
|
||||
mv $@.tmp $@
|
||||
clean-run-sh:
|
||||
rm -f run.sh
|
||||
clean: clean-run-sh
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
EXE ?= $(shell $(PWD)).py
|
||||
EXE_PATH ?= ./$(EXE)
|
||||
|
||||
all:
|
||||
install:
|
||||
clean:
|
||||
distclean:
|
||||
|
||||
run:
|
||||
$(PYTHON) -m $(shell echo $(patsubst %.py,%,$(EXE)) | sed 's%^\./%%; s%/%.%g') $(EXE_ARGS)
|
||||
|
||||
pyc.clean:
|
||||
find . -name '*.pyc' -print0 | xargs -r -0 $(RM) -f
|
||||
157
make/qt-defs.mk
157
make/qt-defs.mk
|
|
@ -1,157 +0,0 @@
|
|||
ifeq ($(USE_QT),true)
|
||||
|
||||
USE_X = true
|
||||
FINAL_CPPFLAGS += -DQT_THREAD_SUPPORT
|
||||
|
||||
#ifeq ($(PKG_FORMAT),rpm)
|
||||
#QT_VERSION ?= $(shell rpm -q --queryformat='%{VERSION}' --whatprovides qt)
|
||||
#else
|
||||
#QT_VERSION = $(shell dpkg -s libqtcore4 | sed '^CVersion:/ !d; s/Version: *//')
|
||||
#endif
|
||||
#QT_MAJOR_VERSION ?= $(shell echo $(QT_VERSION) | cut -d\. -f1)
|
||||
#
|
||||
#ifeq ($(QT_MAJOR_VERSION),2)
|
||||
# QT_PREFIX ?= $(SYSTEM_LIBDIR)/qt2
|
||||
# INCLUDE += -I$(QT_PREFIX)/include
|
||||
#else
|
||||
# ifeq ($(QT_MAJOR_VERSION),3)
|
||||
# QT_PREFIX ?= $(SYSTEM_LIBDIR)/qt3
|
||||
# INCLUDE += -I$(QT_PREFIX)/include
|
||||
# else
|
||||
# ifeq ($(QT_MAJOR_VERSION),4)
|
||||
# #QT_PREFIX ?= $(HOME)/opt/qt4
|
||||
# QT_PREFIX ?= /usr
|
||||
# INCLUDE += -I$(QT_PREFIX)/include \
|
||||
# $(addprefix -I$(QT_PREFIX)/include/, \
|
||||
# Qt Qt3Support QtAssistant QtCore QtDesigner \
|
||||
# QtGui QtNetwork QtOpenGL QtScript)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#
|
||||
#ifeq ($(ARCH),x86)
|
||||
# LD_LIB_PATH += $(QT_PREFIX)/lib
|
||||
# QT_LDFLAGS += -L$(QT_PREFIX)/lib
|
||||
#else
|
||||
# ifeq ($(QT_MAJOR_VERSION),4)
|
||||
# LD_LIB_PATH += $(QT_PREFIX)/lib
|
||||
# QT_LDFLAGS += -L$(QT_PREFIX)/lib
|
||||
# else
|
||||
# LD_LIB_PATH += $(QT_PREFIX)/$(SYSTEM_LIBDIR_NAME)
|
||||
# QT_LDFLAGS += -L$(QT_PREFIX)/$(SYSTEM_LIBDIR_NAME)
|
||||
# endif
|
||||
#endif
|
||||
#
|
||||
#MOC ?= $(QT_PREFIX)/bin/moc
|
||||
#UIC ?= $(QT_PREFIX)/bin/uic
|
||||
#RCC ?= $(QT_PREFIX)/bin/rcc
|
||||
#
|
||||
#ifdef REENTRANT
|
||||
# ifneq ($(QT_MAJOR_VERSION),4)
|
||||
# FINAL_LPPFLAGS += $(QT_LDFLAGS) -lqt-mt
|
||||
# else
|
||||
# # FINAL_LPPFLAGS += $(QT_LDFLAGS) -lQtSql -lQtNetwork -lQtOpenGL -lQtDesigner_debug -lQtGui_debug -lQtCore_debug
|
||||
# FINAL_LPPFLAGS += $(QT_LDFLAGS) -lQtWebKit -lQt3Support -lQtSql -lQtNetwork -lQtOpenGL -lQtDesigner -lQtGui -lQtCore
|
||||
# endif
|
||||
#else
|
||||
# ifneq ($(QT_MAJOR_VERSION),4)
|
||||
# FINAL_LPPFLAGS += $(QT_LDFLAGS) -lqt
|
||||
# else
|
||||
# # FINAL_LPPFLAGS += $(QT_LDFLAGS) -lQtSql -lQtNetwork -lQtOpenGL -lQtDesigner_debug -lQtGui_debug -lQtCore_debug
|
||||
# FINAL_LPPFLAGS += $(QT_LDFLAGS) -lQtWebKit -lQt3Support -lQtSql -lQtNetwork -lQtOpenGL -lQtDesigner -lQtGui -lQtCore
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# ------------------------------- Qt defs
|
||||
|
||||
#Qt5Designer \
|
||||
|
||||
ifeq ($(QT_MAJOR_VERSION),5)
|
||||
QT_MODULES ?= \
|
||||
Qt5Concurrent \
|
||||
Qt5Core \
|
||||
Qt5DBus \
|
||||
Qt5Gui \
|
||||
Qt5Help \
|
||||
Qt5Network \
|
||||
Qt5OpenGLExtensions \
|
||||
Qt5OpenGL \
|
||||
Qt5PrintSupport \
|
||||
Qt5Qml \
|
||||
Qt5Quick \
|
||||
Qt5QuickTest \
|
||||
Qt5QuickWidgets \
|
||||
Qt5Sensors \
|
||||
Qt5Sql \
|
||||
Qt5Svg \
|
||||
Qt5Test \
|
||||
Qt5UiTools \
|
||||
Qt5WebEngine \
|
||||
Qt5WebEngineWidgets \
|
||||
Qt5WebKit \
|
||||
Qt5WebKitWidgets \
|
||||
Qt5Widgets \
|
||||
Qt5X11Extras \
|
||||
Qt5XmlPatterns \
|
||||
Qt5Xml
|
||||
else
|
||||
QT_MODULES ?= \
|
||||
Qt3Support \
|
||||
QtCLucene \
|
||||
QtCore \
|
||||
QtDBus \
|
||||
QtDeclarative \
|
||||
QtDesignerComponents \
|
||||
QtDesigner \
|
||||
QtGui \
|
||||
QtHelp \
|
||||
QtMultimedia \
|
||||
QtNetwork \
|
||||
QtOpenGL \
|
||||
QtScript \
|
||||
QtScriptTools \
|
||||
QtSql \
|
||||
QtSvg \
|
||||
QtTest \
|
||||
QtUiTools \
|
||||
QtWebKit \
|
||||
QtXmlPatterns \
|
||||
QtXml
|
||||
|
||||
endif
|
||||
|
||||
QT_BIN_PREFIX ?= $(strip $(shell pkg-config --variable=host_bins $(QT_MODULES)))
|
||||
MOC ?= $(QT_BIN_PREFIX)/moc
|
||||
UIC ?= $(QT_BIN_PREFIX)/uic
|
||||
RCC ?= $(QT_BIN_PREFIX)/rcc
|
||||
FINAL_LPPFLAGS += $(QT_LDFLAGS) $(shell pkg-config --libs $(QT_MODULES))
|
||||
FINAL_INCLUDE += $(QT_LDFLAGS) $(shell pkg-config --cflags $(QT_MODULES))
|
||||
CXXFLAGS += -D_QT_MAJOR_=$(QT_MAJOR_VERSION)
|
||||
|
||||
# ------------------------------- jw-build defs
|
||||
|
||||
UIFILES += $(wildcard *.ui)
|
||||
RCCFILES += $(wildcard *.qrc)
|
||||
|
||||
ifneq ($(wildcard *.h),)
|
||||
MOC_H_HC += $(shell grep -l Q_OBJECT $(wildcard *.h))
|
||||
endif
|
||||
MOC_H_UI += $(patsubst %.ui,ui_%.h,$(UIFILES))
|
||||
MOC_H += $(sort $(MOC_H_HC) $(MOC_H_UI))
|
||||
MOC_CPP += $(patsubst %.h,moc_%.cpp,$(notdir $(MOC_H_HC)))
|
||||
# $(patsubst %.ui,moc_%.cpp,$(UIFILES)) \
|
||||
RCC_CPP += $(patsubst %.qrc,rcc_%.cpp, $(RCCFILES))
|
||||
ifeq ($(QT_MAJOR_VERSION),4)
|
||||
UIC_H += $(patsubst %.ui,ui_%.h, $(UIFILES))
|
||||
else
|
||||
UIC_H += $(patsubst %.ui,%.h, $(UIFILES))
|
||||
FINAL_CFLAGS += -fPIC
|
||||
FINAL_CXXFLAGS += -fPIC
|
||||
endif
|
||||
UIC_CPP += $(patsubst %.ui,uic_%.cpp, $(UIFILES))
|
||||
|
||||
BUILD_OBJ += $(patsubst %.cpp,%.o,$(MOC_CPP))
|
||||
BUILD_OBJ += $(patsubst %.cpp,%.o,$(UIC_CPP))
|
||||
BUILD_OBJ += $(patsubst %.cpp,%.o,$(RCC_CPP))
|
||||
|
||||
endif # USE_QT
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
QMAKE_MAKEFILE = Makefile.qt
|
||||
EXE ?= $(notdir $(shell $(PWD)))
|
||||
QMAKE = qmake-qt5
|
||||
|
||||
all:
|
||||
install:
|
||||
clean: qmake.clean
|
||||
distclean:
|
||||
|
||||
$(QMAKE_MAKEFILE):
|
||||
$(QMAKE) -o $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
all: $(QMAKE_MAKEFILE)
|
||||
make -f $< $@
|
||||
|
||||
qmake.clean:
|
||||
if [ -f $(QMAKE_MAKEFILE) ]; then make -f $(QMAKE_MAKEFILE) clean; fi
|
||||
$(RM) -f $(QMAKE_MAKEFILE) *.tmp $(EXE) .qmake.stash
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
ifeq ($(QT_MAJOR_VERSION),3)
|
||||
moc_%.cpp: %.h
|
||||
$(MOC) -o $@ $<
|
||||
else
|
||||
moc_%.cpp: %.h
|
||||
$(MOC) $(filter -D% -I%,$(strip $(FINAL_CXXFLAGS) $(FINAL_CPPFLAGS))) -o $@ $<
|
||||
moc_%.cpp: include/%.h
|
||||
$(MOC) $(filter -D% -I%,$(strip $(FINAL_CXXFLAGS) $(FINAL_CPPFLAGS))) -o $@ $<
|
||||
endif
|
||||
|
||||
rcc_%.cpp: %.qrc
|
||||
$(RCC) -o $@ $<
|
||||
|
||||
ifeq ($(QT_MAJOR_VERSION),4)
|
||||
ui_%.h: %.ui
|
||||
else
|
||||
%.h: %.ui
|
||||
endif
|
||||
$(UIC) $< -o $@
|
||||
|
||||
ifeq ($(QT_MAJOR_VERSION),4)
|
||||
uic_%.cpp: ui_%.h
|
||||
echo -e "#include \"$<\"\n" > $@
|
||||
else
|
||||
uic_%.cpp: %.h %.ui
|
||||
$(UIC) $*.ui -i $< -o $@
|
||||
endif
|
||||
20
make/qt.mk
20
make/qt.mk
|
|
@ -1,20 +0,0 @@
|
|||
all:
|
||||
clean: mocclean uicclean rccclean
|
||||
|
||||
run-qt-%:
|
||||
$(QT_PREFIX)/bin/$*
|
||||
design:
|
||||
$(QT_PREFIX)/bin/designer $(UIFILES)
|
||||
|
||||
assist: run-qt-assistant
|
||||
#design: run-qt-designer
|
||||
translation: run-qt-linguist
|
||||
release: run-qt-lrelease
|
||||
update: run-qt-lupdate
|
||||
qm2ts: run-qt-qm2ts
|
||||
qumake: run-qt-qmake
|
||||
qt3to4: run-qt-qt3to4
|
||||
qtconfig:run-qt-qtconfig
|
||||
|
||||
include $(JWBDIR)/make/qtversion.mk
|
||||
include $(JWBDIR)/make/qt-rules.mk
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2005 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
USE_QT = true
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
include $(JWBDIR)/make/qt-defs.mk
|
||||
include $(JWBDIR)/make/exe.mk
|
||||
include $(JWBDIR)/make/qt.mk
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2005 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
USE_QT = true
|
||||
QT_MAJOR_VERSION ?= 4
|
||||
|
||||
include $(JWBDIR)/make/plugin.mk
|
||||
include $(JWBDIR)/make/qt.mk
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2005 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/qtversion.mk
|
||||
include $(JWBDIR)/make/so.mk
|
||||
include $(JWBDIR)/make/qt.mk
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/qtversion.mk
|
||||
include $(JWBDIR)/make/tools.mk
|
||||
#include $(JWBDIR)/make/defs.mk
|
||||
#include $(JWBDIR)/make/defs-cpp.mk
|
||||
#ALL += $(BUILD_LIBDIR) $(PREREQ_DONE) $(BUILD_HDR) $(LOCAL_EXE_SH) $(MEMBERS)
|
||||
#include $(JWBDIR)/make/rules.mk
|
||||
#clean: objclean textclean localclean
|
||||
#install: $(ALL)
|
||||
include $(JWBDIR)/make/qt.mk
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
USE_QT ?= true
|
||||
QT_MAJOR_VERSION ?= 5
|
||||
166
make/run.mk
166
make/run.mk
|
|
@ -1,166 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
|
||||
DIR_BASENAME = $(notdir $(CWD))
|
||||
|
||||
ifneq ($(TARGET_PRODUCT),)
|
||||
EXE_BASENAME_PREFIX ?= $(TARGET_PRODUCT)-
|
||||
endif
|
||||
|
||||
ifeq ($(EXE_BASENAME),)
|
||||
ifneq ($(DIR_BASENAME),test)
|
||||
EXE_BASENAME = $(EXE_BASENAME_PREFIX)$(DIR_BASENAME)
|
||||
else
|
||||
EXE_BASENAME = $(EXE_BASENAME_PREFIX)test-$(notdir $(shell cd ..; $(PWD)))
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(EXE_BASENAME),)
|
||||
ifneq ($(TARGET),mingw)
|
||||
EXE ?= $(EXE_BASENAME)
|
||||
SHORTCUT_SCRIPT ?= ./run.sh
|
||||
else
|
||||
EXE ?= $(EXE_BASENAME).exe
|
||||
SHORTCUT_SCRIPT ?= run.bat
|
||||
endif
|
||||
endif
|
||||
|
||||
EXE_PATH ?= ./$(EXE)
|
||||
CHECK_CONF_EXE ?= $(firstword $(wildcard $(PROJECTS_DIR)/valdi/bin/checkconf) checkconf)
|
||||
|
||||
FINAL_CFLAGS += -DEXE_NAME=\"$(EXE)\"
|
||||
FINAL_CXXFLAGS += -DEXE_NAME=\"$(EXE)\"
|
||||
|
||||
# ----- linker scripts from tagged templates
|
||||
#BUILD_LD_DIR = $(wildcard $(firstword $(call $(TAGGED_TMPL_DIRS),ld)))
|
||||
#BUILD_LD_DIR = $(firstword $(foreach tag,$(TAGGED_TMPL_TAGS),$(foreach repo,$(TOPDIR)/tmpl/tagged $(JWBDIR)/tmpl/tagged,$(wildcard $(repo)/$(tag)/ld))))
|
||||
#BUILD_LD_DIR = $(firstword $(wildcard $(foreach tag,$(TAGGED_TMPL_TAGS),$(foreach repo,$(TOPDIR)/tmpl/tagged $(JWBDIR)/tmpl/tagged,$(repo)/$(tag)/ld))))
|
||||
|
||||
#BUILD_LD_TMPL_DIRS ?= $(foreach tag,$(TAGGED_TMPL_TAGS),$(foreach repo,$(TOPDIR)/tmpl/tagged $(JWBDIR)/tmpl/tagged,$(repo)/$(tag)/ld))
|
||||
#BUILD_LD_DIRS += $(wildcard $(BUILD_LD_TMPL_DIRS))
|
||||
#FINAL_LDFLAGS += $(foreach d,$(BUILD_LD_DIRS),-L$(d) $(addprefix -T ,$(sort $(notdir $(wildcard $(d)/*.ld)))))
|
||||
|
||||
BUILD_LD_DIRS = $(call uniq,$(dir $(foreach d,$(BUILD_LD_CHECK_DIRS),$(wildcard $(d)/*.ld))))
|
||||
LD_SCRIPTS = $(foreach d,$(BUILD_LD_DIRS),$(wildcard $(d)/*.ld))
|
||||
FINAL_LDFLAGS += $(foreach d,$(BUILD_LD_DIRS),-L$(d) $(addprefix -T ,$(sort $(notdir $(wildcard $(d)/*.ld)))))
|
||||
|
||||
include $(JWBDIR)/make/profiler.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/ldlibpath.mk
|
||||
include $(JWBDIR)/make/path-rules.mk
|
||||
include $(JWBDIR)/make/debugger.mk
|
||||
|
||||
EXE_ARGS += $(LOCAL_EXE_ARGS)
|
||||
EXE_CMD ?= $(EXE_PATH) $(EXE_ARGS)
|
||||
|
||||
ifneq ($(wildcard local.supp),)
|
||||
VALGRIND_OPTS += --suppressions=local.supp
|
||||
endif
|
||||
|
||||
all:
|
||||
install:
|
||||
clean: runclean localclean
|
||||
distclean:
|
||||
|
||||
run-deps: all
|
||||
$(RM) -f core core.* vgcore vgcore.*
|
||||
|
||||
ifeq ($(TARGET),mingw)
|
||||
run test: run-deps
|
||||
@echo "wine $(EXE_CMD)"
|
||||
@echo -e "set PATH=%PATH;$(DLL_PATH)\n" \
|
||||
"$(EXE_CMD)" | wine cmd
|
||||
|
||||
start: run-deps
|
||||
@echo "wine $(EXE_CMD)"
|
||||
@echo -e "set PATH=%PATH;$(DLL_PATH)\n" \
|
||||
"$(EXE_CMD)" | wine cmd &
|
||||
|
||||
else
|
||||
run test: run-deps
|
||||
$(EXE_CMD)
|
||||
start: run-deps
|
||||
$(EXE_CMD) &
|
||||
|
||||
which:
|
||||
$(WHICH) $(EXE_PATH)
|
||||
|
||||
$(SHORTCUT_SCRIPT):
|
||||
ifeq ($(TARGET),mingw)
|
||||
echo "set PATH=%PATH;$(DLL_PATH)" > $@.tmp
|
||||
echo "$(EXE_CMD)" >> $@.tmp
|
||||
else
|
||||
echo -e "#!/bin/bash\n\n$(RM) -f core.*\nexport LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)\nexport PATH=$(PATH)\n$(EXE_CMD)" > $@.tmp
|
||||
chmod 755 $@.tmp
|
||||
endif
|
||||
mv $@.tmp $@
|
||||
shortcut: $(SHORTCUT_SCRIPT)
|
||||
distclean.shortcut:
|
||||
$(RM) -f $(SHORTCUT_SCRIPT)
|
||||
distclean: distclean.shortcut
|
||||
|
||||
# unfortunately iwatch supports only 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
|
||||
|
||||
valgrind: run-deps
|
||||
valgrind $(VALGRIND_OPTS) $(EXE_CMD)
|
||||
|
||||
valkyrie: run-deps
|
||||
valkyrie $(VALGRIND_OPTS) $(EXE_CMD)
|
||||
|
||||
efence: run-deps
|
||||
ef $(EXE_CMD)
|
||||
|
||||
supp.tmp:
|
||||
valgrind --gen-suppressions=all $(EXE_CMD) 2>$@.tmp; mv $@.tmp $@ || exit 0
|
||||
|
||||
vg-create-supp: supp.tmp
|
||||
$(CAT) $< | $(JWB_SCRIPT_DIR)/parse-valgrind-suppressions.sh > local.supp
|
||||
$(RM) -f supp.tmp
|
||||
vg-add-supp:
|
||||
$(CAT) | $(JWB_SCRIPT_DIR)/parse-valgrind-suppressions.sh >> local.supp
|
||||
clean: vg-clean-supp
|
||||
vg-clean-supp:
|
||||
$(RM) -f local.supp
|
||||
|
||||
clean: clean.out
|
||||
clean.out:
|
||||
$(RM) -f run.out
|
||||
|
||||
snap:
|
||||
killall -SIGUSR1 $(notdir $(EXE_PATH))
|
||||
|
||||
check-conf:
|
||||
$(CHECK_CONF_EXE) -p --log-flags console \
|
||||
$(shell echo $(EXE_ARGS) | sed 's/.*--config-file *//; s/ .*//')
|
||||
endif
|
||||
|
||||
stop:
|
||||
if /sbin/checkproc $(notdir $(EXE_PATH)); then killall $(notdir $(EXE_PATH)); fi
|
||||
kill:
|
||||
killall -9 $(notdir $(EXE_PATH))
|
||||
|
||||
abort:
|
||||
killall -6 $(notdir $(EXE_PATH))
|
||||
|
||||
strace: $(EXE_PATH) $(EXE_BIN) run-deps
|
||||
strace -f $(STRACE_EXTRA_OPTS) $(EXE_CMD)
|
||||
|
||||
tee: $(EXE_PATH) $(EXE_BIN) run-deps
|
||||
$(EXE_CMD) 2>&1 | tee run.out
|
||||
|
||||
kcg:
|
||||
kcachegrind callgrind.*
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
# === variable definitions
|
||||
GET_OS_SH = sh $(JWB_SCRIPT_DIR)/get-os.sh
|
||||
GENERATE_SELECTION = sh $(JWB_SCRIPT_DIR)/generate_selection.sh
|
||||
UPLOAD_SH = sh $(JWB_SCRIPT_DIR)/upload.sh
|
||||
|
||||
DISTRIBUTOR = $(shell $(GET_OS_SH) | cut -d- -f1)
|
||||
DISTRO_RELEASE = $(shell $(GET_OS_SH) | cut -d- -f2-)
|
||||
UPLOAD_URL = root@pkg.janware.com:/srv/ftp/pub/packages/linux/$(DISTRIBUTOR)/$(DISTRO_RELEASE)/setup/descr
|
||||
|
||||
SELECTION = $(shell $(GENERATE_SELECTION) -s)-packages.txt
|
||||
CHANNEL_LIST = $(shell $(GENERATE_SELECTION) -s)-channels.txt
|
||||
|
||||
# === targets
|
||||
all: selection.done channels.done
|
||||
install:
|
||||
clean:
|
||||
$(RM) -rf *.done *.tmp
|
||||
distclean: clean
|
||||
upload: upload.done
|
||||
install-smart: rpm-install-smart.done
|
||||
commit: selection.done channels.done
|
||||
cvs add $(SELECTION) $(CHANNEL_LIST) || exit 0
|
||||
cvs commit -m "o updated by target $@"
|
||||
smart-update: smart-update.done
|
||||
smart-config: smart-config.done
|
||||
write: selection.done channels.done
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
# === rules
|
||||
selection.done: $(JWBDIR)/make/smart-selection.mk
|
||||
rpm -qa --queryformat '%{NAME}\n' | sort -u | \
|
||||
$(SED) '/gpg-pubkey/ d' > $(SELECTION).tmp
|
||||
mv $(SELECTION).tmp $(SELECTION)
|
||||
touch $@
|
||||
|
||||
channels.done: $(JWBDIR)/make/smart-selection.mk
|
||||
smart channel --show | $(SED) '/\[rpm-sys\]/,+3 d' > $(CHANNEL_LIST)
|
||||
touch $@
|
||||
|
||||
upload.done: selection.done
|
||||
sh $(UPLOAD_SH) $(SELECTION) $(CHANNEL_LIST) $(UPLOAD_URL)
|
||||
$(CVS_RSH) -l root pkg.janware.com $(UPDATE_REPO_SH)
|
||||
touch $@
|
||||
|
||||
rpm-install-smart.done:
|
||||
if ! rpm -q smart >/dev/null 2>&1 ; then \
|
||||
wget --http-user=$(JANWARE_USER) https://janware.com:/files/packages/linux/$(DISTRIBUTOR)/$(DISTRO_RELEASE)/rpm/i686/smart.rpm; \
|
||||
sudo rpm -U smart.rpm; \
|
||||
sudo smart update; \
|
||||
sudo smart channel --remove-all; \
|
||||
fi
|
||||
touch $@
|
||||
|
||||
smart-update.done:
|
||||
sudo smart update || exit 0
|
||||
touch $@
|
||||
|
||||
%-packages.txt-install: smart-update.done
|
||||
$(CAT) $*-packages.txt | xargs sudo smart install -y
|
||||
|
||||
%-channels.txt-replace:
|
||||
sudo smart channel -y --remove-all
|
||||
sudo smart channel -y --add $*-channels.txt
|
||||
sudo smart update || exit 0
|
||||
|
||||
smart-config.done:
|
||||
sudo smart config --set rpm-check-signatures=false
|
||||
sudo smart config --set remove-packages=false
|
||||
touch $@
|
||||
24
make/so.mk
24
make/so.mk
|
|
@ -1,24 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
|
||||
LDFLAGS += -shared
|
||||
BUILD_SHOBJS = $(addprefix $(BUILD_LIBDIR)/, $(SHOBJS))
|
||||
SHOBJS = $(patsubst %.cpp,$(SO_PREFIX)%.so,$(patsubst %.cc,$(SO_PREFIX)%.so,$(patsubst %.c,$(SO_PREFIX)%.so,$(SRC_ALL_CPP))))
|
||||
INSTALLED_SHOBJS += $(addprefix $(INSTALL_LIBDIR)/,$(SHOBJS))
|
||||
INSTALLED_ALL_LIBS += $(INSTALLED_SHOBJS)
|
||||
|
||||
include $(JWBDIR)/make/ldlibpath.mk
|
||||
include $(JWBDIR)/make/debugger.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
all: $(SHOBJS) $(BUILD_SHOBJS)
|
||||
clean: objclean textclean localclean profclean
|
||||
install: $(ALL) install_dir_LIB installso
|
||||
|
||||
$(BUILD_LIBDIR)/%.so: %.so
|
||||
install -m 755 $< $@
|
||||
30
make/song.mk
30
make/song.mk
|
|
@ -1,30 +0,0 @@
|
|||
CHORD := $(firstword $(shell which chordpro chordii chord))
|
||||
CHOPRO = $(wildcard *.chopro *.cho *.CHOPRO)
|
||||
CHOPRO_PDF = $(addsuffix .pdf,$(basename $(CHOPRO)))
|
||||
CHOPRO_PS = $(addsuffix .ps,$(basename $(CHOPRO)))
|
||||
|
||||
all: $(CHOPRO_PDF)
|
||||
install:
|
||||
clean: clean.chopro clean.tmp
|
||||
distclean:
|
||||
|
||||
pdf: $(CHOPRO_PDF)
|
||||
kpdf: $(CHOPRO_PDF)
|
||||
kpdf $<
|
||||
|
||||
%.pdf: %.ps
|
||||
ps2pdf $< $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
%.ps: %.chopro
|
||||
$(CHORD) $< > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
clean.chopro:
|
||||
$(RM) -f $(CHOPRO_PS) $(CHOPRO_PDF)
|
||||
|
||||
clean.tmp:
|
||||
$(RM) -f *.tmp
|
||||
|
||||
view: $(CHOPRO_PDF)
|
||||
okular $<
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
VERSION ?= 0.0.0.0-dev
|
||||
DIST_VERSION ?= $(VERSION)
|
||||
#USE_CFG_XXX_MK ?= false
|
||||
USE_PROJECT_LIB ?= false
|
||||
DEVELOPMENT ?= true
|
||||
PROJECTS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))/../..
|
||||
|
||||
ifeq ($(PROJECT),)
|
||||
PROJECT = $(notdir $(shell $(PWD)))
|
||||
endif
|
||||
|
||||
ifeq ($(PREFIX),)
|
||||
PREFIX = $(HOME)/opt/$(PROJECT)
|
||||
endif
|
||||
|
||||
include $(JWBDIR)/make/run.mk
|
||||
include $(JWBDIR)/make/depend.mk
|
||||
|
||||
all: $(EXE)
|
||||
install: $(INSTALLED_EXE) $(INSTALLED_EXE_BIN)
|
||||
run: all.dirs $(EXE) $(EXE_BIN)
|
||||
strace: $(EXE) $(EXE_BIN)
|
||||
|
||||
#$(LIB_SO): $(LIB_A)
|
||||
#$(EXE): $(LIB_SO)
|
||||
all.dirs:
|
||||
clean: execlean localclean clean.standalone-exe
|
||||
clean.standalone-exe:
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
PROFILE_SH = profile-$(PROJECT).sh
|
||||
|
||||
all: $(PROFILE_SH)
|
||||
clean: clean.std-tools
|
||||
install: $(PROFILE_SH) install.std-tools.done
|
||||
distclean: clean
|
||||
|
||||
$(PROFILE_SH): $(LOCAL_MKFILES)
|
||||
echo '#!/bin/sh' > $@.tmp
|
||||
echo "if [ \"\$$PATH\" ]; then" >> $@.tmp
|
||||
echo " PATH=\$$PATH:$(INSTALL_EXEDIR)" >> $@.tmp
|
||||
echo "else" >> $@.tmp
|
||||
echo " PATH=$(INSTALL_EXEDIR)" >> $@.tmp
|
||||
echo "fi" >> $@.tmp
|
||||
echo "if [ \"\$$LD_LIBRARY_PATH\" ]; then" >> $@.tmp
|
||||
echo " LD_LIBRARY_PATH=\$$LD_LIBRARY_PATH:$(INSTALL_LIBDIR)" >> $@.tmp
|
||||
echo "else" >> $@.tmp
|
||||
echo " LD_LIBRARY_PATH=$(INSTALL_LIBDIR)" >> $@.tmp
|
||||
echo "fi" >> $@.tmp
|
||||
echo "export PATH LD_LIBRARY_PATH" >> $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
clean.std-tools:
|
||||
$(RM) -f $(PROFILE_SH) *.done
|
||||
|
||||
install.std-tools.done: install.std-dir.done
|
||||
$(INSTALL) -p -o $(PROFILEOWNER) -g $(PROFILEGROUP) -m $(PROFILEMODE) $(PROFILE_SH) $(PROFILE_DIR)
|
||||
touch $@
|
||||
|
||||
install.std-dir.done:
|
||||
mkdir -p $(PROFILE_DIR)
|
||||
touch $@
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-dirs.mk
|
||||
|
||||
all:
|
||||
clean: clean.var
|
||||
distclean: clean.var distclean.var
|
||||
|
||||
all install clean distclean test:
|
||||
ifneq ($(SUBDIRS_TO_ITERATE),)
|
||||
set -e; for dir in $(SUBDIRS_TO_ITERATE); do make -C $$dir $@; done
|
||||
endif
|
||||
|
||||
clean.var:
|
||||
$(RM) -rf $(CLEAN)
|
||||
distclean.var:
|
||||
$(RM) -rf $(DISTCLEAN)
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
ifneq ($(DEVELOPMENT),true)
|
||||
SUBTREE_OWNER ?= root
|
||||
SUBTREE_GROUP ?= root
|
||||
SUBTREE_MODE ?= 0644
|
||||
SUBTREE_DIROWNER ?= root
|
||||
SUBTREE_DIRGROUP ?= root
|
||||
SUBTREE_DIRMODE ?= 0755
|
||||
else
|
||||
SUBTREE_OWNER ?= $(shell id -un)
|
||||
SUBTREE_GROUP ?= $(shell id -gn)
|
||||
SUBTREE_MODE ?= 0644
|
||||
SUBTREE_DIROWNER ?= $(shell id -un)
|
||||
SUBTREE_DIRGROUP ?= $(shell id -gn)
|
||||
SUBTREE_DIRMODE ?= 0755
|
||||
SUBTREE_INSTALL_PREFIX ?= /srv/www/proj/$(PROJECT)
|
||||
endif
|
||||
|
||||
#ifeq ($(SUBTREE_SRC),)
|
||||
# SUBTREE_SRC = $(shell find .)
|
||||
#endif
|
||||
|
||||
SUBTREE_DIRS += $(shell for f in `git ls-files . 2>/dev/null || find | sed 's%/[^/]\+$$%%' | sort -u | grep -v "Makefile\|GNUmakefile"`; do if [ -d "$$f" ]; then echo $$f; fi; done)
|
||||
SUBTREE_FILES += $(shell for f in `git ls-files . 2>/dev/null || find | grep -v "Makefile\|GNUmakefile"`; do if [ -f "$$f" ]; then echo $$f; fi; done)
|
||||
|
||||
INSTALLED_SUBTREE_DIRS = $(addprefix $(ENV_PREFIX)$(SUBTREE_INSTALL_PREFIX)/,$(SUBTREE_DIRS))
|
||||
INSTALLED_SUBTREE_FILES = $(addprefix $(ENV_PREFIX)$(SUBTREE_INSTALL_PREFIX)/,$(SUBTREE_FILES))
|
||||
|
||||
ifndef SUBTREE_MK_INCLUDED
|
||||
SUBTREE_MK_INCLUDED = true
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
all:
|
||||
install: $(INSTALLED_SUBTREE_DIRS) $(INSTALLED_SUBTREE_FILES)
|
||||
clean:
|
||||
distclean:
|
||||
|
||||
$(INSTALLED_SUBTREE_DIRS):
|
||||
$(INSTALL) -d -o $(SUBTREE_DIROWNER) -g $(SUBTREE_DIRGROUP) -m $(SUBTREE_DIRMODE) $@
|
||||
|
||||
$(ENV_PREFIX)$(SUBTREE_INSTALL_PREFIX)/%: % | $(INSTALLED_SUBTREE_DIRS)
|
||||
$(INSTALL) -p -o $(SUBTREE_OWNER) -g $(SUBTREE_GROUP) -m $(SUBTREE_MODE) $< $@
|
||||
|
||||
endif # SUBTREE_MK_INCLUDED
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
JWBDIR = $(HOME)/local/src/cvs.main/proj/jw-build
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
GENERATE_SELECTION = $(JWB_SCRIPT_DIR)/generate_selection.sh
|
||||
SUSE_RELEASE = 10.1
|
||||
UPLOAD_URL = root@pkg.janware.com:/srv/dav/pub/packages/linux/suse/$(SUSE_RELEASE)/setup/descr
|
||||
UPLOAD_SH = $(JWB_SCRIPT_DIR)/upload.sh
|
||||
|
||||
SELECTION = $(shell sh $(GENERATE_SELECTION) -s).sel
|
||||
|
||||
all: $(SELECTION)
|
||||
upload: upload.done
|
||||
|
||||
$(SELECTION): $(GENERATE_SELECTION)
|
||||
sh $(GENERATE_SELECTION)
|
||||
|
||||
clean:
|
||||
$(RM) -rf $(SELECTION) upload.done
|
||||
|
||||
upload.done: $(SELECTION)
|
||||
sh $(UPLOAD_SH) $(SELECTION) $(UPLOAD_URL)
|
||||
$(CVS_RSH) -l root pkg.janware.com $(UPDATE_REPO_SH)
|
||||
touch $@
|
||||
59
make/svg.mk
59
make/svg.mk
|
|
@ -1,59 +0,0 @@
|
|||
SVG_GENERATE_FORMATS ?= png svg
|
||||
SVG ?= $(filter-out copied-%,$(wildcard *.svg))
|
||||
COPIED_SVG = $(addprefix copied-,$(notdir $(SVG)))
|
||||
INKSCAPE_VERSION = $(shell export -n DISPLAY; inkscape -V 2>&1 | sed '/Inkscape/ !d; s/Inkscape *\([0-9.]\+\) .*/\1/')
|
||||
INKSCAPE_VERSION_MAJOR = $(word 1,$(subst ., ,$(INKSCAPE_VERSION)))
|
||||
ifeq ($(INKSCAPE_VERSION_MAJOR),1)
|
||||
INKSCAPE_EXPORT_PNG = --export-filename
|
||||
else
|
||||
INKSCAPE_EXPORT_PNG = --export-png
|
||||
endif
|
||||
|
||||
GENERATED_ICON_WIDTHS += 16 32 48 64 72 96 128 144 168 192
|
||||
GENERATED_WIDTHS ?= $(GENERATED_ICON_WIDTHS) $(GENERATED_EXTRA_WIDTHS)
|
||||
|
||||
ifneq ($(filter png,$(SVG_GENERATE_FORMATS)),)
|
||||
GENERATED_WIDTHS_PNG ?= $(GENERATED_WIDTHS)
|
||||
GENERATED_PNG ?= \
|
||||
$(foreach w, $(GENERATED_WIDTHS_PNG),$(patsubst %.svg,%-$w.png,$(notdir $(SVG))))
|
||||
GENERATED_IMAGES += $(GENERATED_PNG)
|
||||
endif
|
||||
|
||||
ifneq ($(filter ico,$(SVG_GENERATE_FORMATS)),)
|
||||
GENERATED_WIDTHS_ICO ?= 16 32
|
||||
GENERATED_ICO ?= \
|
||||
$(foreach w, $(GENERATED_WIDTHS_ICO),$(patsubst %.svg,%-$w.ico,$(notdir $(SVG))))
|
||||
GENERATED_IMAGES += $(GENERATED_ICO)
|
||||
endif
|
||||
|
||||
ifneq ($(filter pdf,$(SVG_GENERATE_FORMATS)),)
|
||||
GENERATED_PDF ?= $(patsubst %.svg,%.pdf,$(notdir $(SVG)))
|
||||
GENERATED_IMAGES += $(GENERATED_PDF)
|
||||
endif
|
||||
|
||||
ifneq ($(filter svg,$(SVG_GENERATE_FORMATS)),)
|
||||
IMAGES += $(notdir $(SVG))
|
||||
endif
|
||||
|
||||
all: $(GENERATED_IMAGES)
|
||||
install:
|
||||
clean: clean.images
|
||||
distclean:
|
||||
|
||||
clean.images:
|
||||
$(RM) -f $(GENERATED_IMAGES) $(COPIED_SVG)
|
||||
|
||||
%.png: $(COPIED_SVG)
|
||||
export -n DISPLAY; inkscape -w $(shell echo $* | sed 's/.*-//') \
|
||||
$(INKSCAPE_EXPORT_PNG)=$@ copied-$(shell echo $* | sed 's/-[0-9]\+$$//').svg
|
||||
|
||||
%.pdf: copied-%.svg
|
||||
export -n DISPLAY; inkscape --export-filename="$@" $<
|
||||
|
||||
copied-%.svg: $(SVG)
|
||||
@echo $^
|
||||
cp $(filter %$*.svg, $^) $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
%.ico: %.png
|
||||
icotool -o $@ -c $<
|
||||
209
make/swig.mk
209
make/swig.mk
|
|
@ -1,209 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
ifeq ($(SWIG_TARGET),php)
|
||||
|
||||
SWIG_LANG ?= php
|
||||
SWIG_TARGET_EXT ?= php
|
||||
ifeq ($(OS_NAME),ubuntu)
|
||||
PHP_MAJOR ?= 5
|
||||
else
|
||||
PHP_MAJOR ?= $(shell php-config --version | cut -d. -f1)
|
||||
endif
|
||||
PHP ?= php$(PHP_MAJOR)
|
||||
#PHP ?= $(firstword $(notdir $(wildcard /usr/share/php*)))
|
||||
# Funny: swig --help states -php7 is for PHP8 and later
|
||||
SWIG_OPTS ?= -php7 -DJW_PHP_MAJOR=$(PHP_MAJOR)
|
||||
SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)/usr/share/$(PHP)
|
||||
|
||||
#SWIG_PHP_INCLUDE_DIR = /usr/include/$(PHP)
|
||||
#SWIG_PHP_INCLUDE_SUBDIRS = . main TSRM Zend
|
||||
SWIG_PHP_MODULE_INI = $(SWIG_MODULE).ini
|
||||
SWIG_PHP_MODULE_INI_DIR = $(ENV_PREFIX)/etc/$(PHP)/conf.d
|
||||
#SWIG_PHP_NAMESPACE ?= $(SWIG_MODULE)
|
||||
|
||||
SWIG_GENERATED_EXTRA += $(SWIG_PHP_MODULE_INI)
|
||||
SWIG_INSTALLED_EXTRA = $(SWIG_PHP_MODULE_INI_DIR)/$(SWIG_PHP_MODULE_INI)
|
||||
ifneq ($(SWIG_PHP_NAMESPECE),)
|
||||
SWIG_POSTPROCESS += sed -i -e "s/^<?php/<?php namespace $(SWIG_PHP_NAMESPACE);/" $(SWIG_MODULE_TARGET)
|
||||
endif
|
||||
SWIG_CLEAN += php_$(SWIG_MODULE_H) $(SWIG_PHP_MODULE_INI)
|
||||
|
||||
FINAL_INCLUDE += $(shell php-config --includes)
|
||||
INSTALL_LIBDIR = $(ENV_PREFIX)/usr/$(SYSTEM_LIBDIR_NAME)/$(PHP)/extensions
|
||||
FINAL_CFLAGS += -Wno-unused-label -Wno-unused-function
|
||||
FINAL_CXXFLAGS += -Wno-unused-label -Wno-unused-function
|
||||
|
||||
all:
|
||||
|
||||
$(SWIG_PHP_MODULE_INI_DIR)/%.ini: %.ini
|
||||
mkdir -p $(dir $@)
|
||||
$(INSTALL) -p -o $(APACHE_CONFOWNER) -g $(APACHE_CONFGROUP) -m $(APACHE_CONFMODE) $< $@
|
||||
|
||||
%.ini:
|
||||
echo extension=$*.so > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
else ifeq ($(SWIG_TARGET),android)
|
||||
|
||||
SWIG_LANG ?= android
|
||||
SWIG_TARGET_EXT ?= java
|
||||
SWIG_OPTS ?= -android
|
||||
|
||||
else ifeq ($(SWIG_TARGET),python)
|
||||
|
||||
include $(JWBDIR)/make/py-defs.mk # for $(PYTHON), $(PY_SITE_PACKAGES_PATH)
|
||||
|
||||
PYTHON_FULL_VERSION ?= $(basename $(lastword $(shell $(PYTHON) --version 2>&1)))
|
||||
PYTHON_MAJOR_VERSION ?= $(basename $(PYTHON_FULL_VERSION))
|
||||
PYTHON_MINOR_VERSION ?= $(patsubst .%,%,$(suffix $(PYTHON_FULL_VERSION)))
|
||||
|
||||
SWIG_LANG ?= python
|
||||
SWIG_TARGET_EXT ?= py
|
||||
SWIG_OPTS ?= -python
|
||||
#SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(SYSTEM_LIBDIR)/python$(PYTHON_MAJOR_VERSION).$(PYTHON_MINOR_VERSION)/site-packages
|
||||
SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(PY_SITE_PACKAGES_PATH)
|
||||
SWIG_MODULE_SO ?= _$(SWIG_MODULE).so
|
||||
|
||||
ifneq ($(PYTHON_MAJOR_VERSION),3)
|
||||
SWIG_CLEAN += $(wildcard *.pyc)
|
||||
SWIG_PY_MODULE_PYC ?= $(patsubst %.py,%.pyc,$(SWIG_MODULE_TARGET))
|
||||
else
|
||||
SWIG_CLEAN += $(wildcard __pycache__)
|
||||
SWIG_PY_MODULE_PYC ?= $(patsubst %.py,__pycache__/%.$(PY_CPYTHON_PREFIX).pyc,$(SWIG_MODULE_TARGET))
|
||||
endif
|
||||
SWIG_GENERATED_EXTRA += $(SWIG_PY_MODULE_PYC)
|
||||
SWIG_INSTALLED_EXTRA += $(SWIG_MODULE_TARGET_DIR)/$(SWIG_PY_MODULE_PYC)
|
||||
|
||||
FINAL_INCLUDE += $(shell $(PKG_CONFIG_EXE) --cflags python-$(PYTHON_VERSION))
|
||||
FINAL_LDFLAGS += $(shell $(PKG_CONFIG_EXE) --libs python-$(PYTHON_VERSION))
|
||||
|
||||
INSTALL_LIBDIR = $(SWIG_MODULE_TARGET_DIR)
|
||||
|
||||
all:
|
||||
|
||||
ifneq ($(PYTHON_MAJOR_VERSION),3)
|
||||
%.pyc: %.py
|
||||
else
|
||||
__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: %.py
|
||||
endif
|
||||
$(PYTHON) -c "import py_compile; py_compile.compile(\"$<\", doraise=True)"
|
||||
|
||||
ifeq ($(PYTHON_MAJOR_VERSION),3)
|
||||
$(SWIG_MODULE_TARGET_DIR)/__pycache__/%.$(PY_CPYTHON_PREFIX).pyc: __pycache__/%.$(PY_CPYTHON_PREFIX).pyc
|
||||
mkdir -p $(dir $@)
|
||||
else
|
||||
$(SWIG_MODULE_TARGET_DIR)/%.pyc: %.pyc
|
||||
endif
|
||||
$(INSTALL) -p -m $(SWIG_TARGETMODE) -o $(SWIG_TARGETOWNER) -g $(SWIG_TARGETGROUP) $< $@
|
||||
|
||||
else ifeq ($(SWIG_TARGET),java)
|
||||
|
||||
JAVA_VERSION ?= $(basename $(lastword $(shell java -version 2>&1 | sed '/version/ !d')))
|
||||
JAVA_MAJOR_VERSION ?= $(basename $(JAVA_VERSION))
|
||||
JAVA_MINOR_VERSION ?= $(patsubst .%,%,$(suffix $(JAVA_VERSION)))
|
||||
|
||||
SWIG_LANG ?= java
|
||||
SWIG_TARGET_EXT ?= java
|
||||
SWIG_OPTS ?= -java
|
||||
SWIG_MODULE_TARGET_DIR = /usr/share/java
|
||||
SWIG_MODULE_SO ?= $(SWIG_MODULE).so
|
||||
SWIG_CLEAN += $(wildcard *.java)
|
||||
|
||||
#SWIG_PY_MODULE_PYC ?= $(patsubst %.py,%.pyc,$(SWIG_MODULE_TARGET))
|
||||
#SWIG_GENERATED_EXTRA += $(SWIG_PY_MODULE_PYC)
|
||||
#SWIG_INSTALLED_EXTRA += $(SWIG_MODULE_TARGET_DIR)/$(SWIG_PY_MODULE_PYC)
|
||||
|
||||
FINAL_INCLUDE += -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
|
||||
#FINAL_LDFLAGS +=
|
||||
|
||||
INSTALL_LIBDIR = $(SWIG_MODULE_TARGET_DIR)
|
||||
|
||||
else ifeq ($(SWIG_TARGET),perl)
|
||||
|
||||
PERL ?= perl
|
||||
SWIG_LANG ?= perl
|
||||
SWIG_TARGET_EXT ?= pm
|
||||
SWIG_OPTS ?= -perl
|
||||
PERL_VERSION ?= $(patsubst v%,%,$(shell $(PERL) -e 'print $$^V;'))
|
||||
# /usr/lib/perl is a symlink to /usr/lib/perl5 for yocto, so give this a preference
|
||||
PERL_BASE_DIR ?= $(firstword $(wildcard $(addprefix $(BUILD_LIBS_PREFIX),/usr/lib64/perl5 /usr/lib/perl /usr/lib/perl5 /usr/lib/perl-native/perl)))
|
||||
PERL_CORE_DIR ?= $(firstword $(wildcard $(addprefix $(PERL_BASE_DIR)/,$(PERL_VERSION)/$(ARCH)-linux-thread-multi/CORE $(PERL_VERSION)/CORE CORE)))
|
||||
PERL_VENDOR_DIR ?= $(PERL_BASE_DIR)/vendor_perl/$(PERL_VERSION)/$(ARCH)-linux-thread-multi
|
||||
FINAL_INCLUDE += -I$(PERL_CORE_DIR)
|
||||
SWIG_CLEAN += $(wildcard *.$(SWIG_TARGET_EXT))
|
||||
INSTALL_LIBDIR = $(ENV_PREFIX)$(PERL_VENDOR_DIR)/auto/$(SWIG_MODULE)
|
||||
SWIG_MODULE_TARGET_DIR = $(ENV_PREFIX)$(PERL_VENDOR_DIR)
|
||||
|
||||
else
|
||||
|
||||
$(error SWIG_TARGET=$(SWIG_TARGET) undefined or unknown)
|
||||
|
||||
endif
|
||||
|
||||
SWIG_INCLUDE ?= $(filter-out -iquote .,$(FINAL_INCLUDE))
|
||||
|
||||
SWIG_USE_CPP ?= true
|
||||
ifeq ($(SWIG_USE_CPP),true)
|
||||
SWIG_SOURCE_EXT ?= cpp
|
||||
SWIG_OPTS += -c++
|
||||
else
|
||||
SWIG_SOURCE_EXT ?= c
|
||||
endif
|
||||
SWIG ?= swig
|
||||
SWIG_INTERFACE_I ?= $(wildcard *.i)
|
||||
#SWIG_MODULE ?= $(SWIG_TARGET_EXT)_$(firstword $(shell sed '/^%module/ !d; s/^ *%module *//' $(SWIG_INTERFACE_I)))
|
||||
SWIG_MODULE ?= $(firstword $(shell sed '/^%module/ !d; s/^ *%module *//' $(SWIG_INTERFACE_I)))
|
||||
SWIG_MODULE_SO ?= $(SWIG_MODULE).so
|
||||
SWIG_MODULE_H ?= $(SWIG_MODULE).h
|
||||
SWIG_MODULE_WRAP_C ?= $(SWIG_MODULE)_wrap.$(SWIG_SOURCE_EXT)
|
||||
SWIG_MODULE_TARGET ?= $(SWIG_MODULE).$(SWIG_TARGET_EXT)
|
||||
SWIG_SRC_C ?= $(sort $(SWIG_MODULE_WRAP_C) $(wildcard *.c *.cpp))
|
||||
SWIG_OBJ ?= $(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(sort $(SWIG_SRC_C))))
|
||||
SWIG_TARGETOWNER ?= root
|
||||
SWIG_TARGETGROUP ?= root
|
||||
SWIG_TARGETMODE ?= 0644
|
||||
SWIG_WRAPPER_DEP_MK = swig.dep.mk
|
||||
|
||||
SWIG_INSTALLED_SO = $(addprefix $(INSTALL_LIBDIR)/,$(SWIG_MODULE_SO))
|
||||
ifneq ($(SWIG_TARGET),php)
|
||||
SWIG_INSTALLED_MODULE_TARGET = $(addprefix $(SWIG_MODULE_TARGET_DIR)/,$(SWIG_MODULE_TARGET))
|
||||
endif
|
||||
|
||||
SWIG_DEFINES += -DNON_C_BINDING
|
||||
SWIG_OPTS += $(SWIG_DEFINES)
|
||||
FINAL_CFLAGS += $(SWIG_DEFINES)
|
||||
FINAL_CXXFLAGS += $(SWIG_DEFINES)
|
||||
|
||||
# for depend.mk
|
||||
BUILD_OBJ = $(SWIG_OBJ)
|
||||
DEPEND_MK += $(SWIG_WRAPPER_DEP_MK)
|
||||
|
||||
all: $(SWIG_MODULE_SO) $(SWIG_GENERATED_EXTRA)
|
||||
install: $(SWIG_INSTALLED_SO) $(SWIG_INSTALLED_MODULE_TARGET) $(SWIG_INSTALLED_EXTRA)
|
||||
clean: clean.generated
|
||||
distclean: clean
|
||||
|
||||
$(SWIG_WRAPPER_DEP_MK): $(SWIG_INTERFACE_I)
|
||||
$(SWIG) -M -oh $(SWIG_MODULE_H) -module $(SWIG_MODULE) $(SWIG_INCLUDE) $(SWIG_OPTS) -MT $(SWIG_MODULE_WRAP_C) $< > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
$(SWIG_MODULE_WRAP_C): $(SWIG_INTERFACE_I)
|
||||
$(SWIG) -oh $(SWIG_MODULE_H) -module $(SWIG_MODULE) $(SWIG_INCLUDE) $(SWIG_OPTS) -o $@ $<
|
||||
$(SWIG_POSTPROCESS)
|
||||
|
||||
$(SWIG_MODULE_SO): $(SWIG_OBJ)
|
||||
$(CXX) $^ -shared $(FINAL_LDFLAGS) -o $@
|
||||
|
||||
$(SWIG_MODULE_TARGET_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
$(SWIG_MODULE_TARGET_DIR)/%: % | $(SWIG_MODULE_TARGET_DIR)
|
||||
$(INSTALL) -p -o $(SWIG_TARGETOWNER) -g $(SWIG_TARGETGROUP) -m $(SWIG_TARGETMODE) $< $@
|
||||
|
||||
clean.generated:
|
||||
$(RM) -rf $(SWIG_MODULE_WRAP_C) $(SWIG_OBJ) $(SWIG_MODULE_SO) $(SWIG_MODULE_TARGET) $(SWIG_CLEAN) $(SWIG_WRAPPER_DEP_MK)
|
||||
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
include $(JWBDIR)/make/depend.mk
|
||||
|
|
@ -1 +0,0 @@
|
|||
TAG_VERSION = V_$(shell echo $(VERSION) | $(SED) 's/[\.-]/_/g')
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
ifeq ($(VCS),cvs)
|
||||
tag.dist:
|
||||
cvs tag $(TAG_VERSION)
|
||||
|
||||
ftag.dist:
|
||||
cvs tag -F $(TAG_VERSION)
|
||||
endif
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
TAGGED_TMPL_TAG ?= $(notdir $(CWD))
|
||||
TAGGED_TMPL_EXTS ?= $(TAGGED_TMPL_TAG)
|
||||
LOCAL_TMPL += $(foreach e,$(TAGGED_TMPL_EXTS),$(wildcard *.$(TAGGED_TMPL_EXTS)))
|
||||
|
||||
include $(JWBDIR)/make/tmpl.mk
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#TAGGED_TMPL_TMPLS ?= $(wildcard $(addprefix $(TAGGED_TMPL_REPO_DIR)/ld/,$(TAGGED_TMPL_TAGS)/*.ld))
|
||||
TAGGED_TMPL_TYPE ?= $(notdir $(CWD))
|
||||
TAGGED_TMPL_EXTS ?= $(TAGGED_TMPL_TYPE)
|
||||
TAGGED_TMPL_TAG_DIR ?= $(TAGGED_TMPL_REPO_DIR)/$(1)/$2 # call with repodir, tag and type arguments
|
||||
TAGGED_TMPL_TAG_DIRS ?= $(foreach tag,$(TAGGED_TMPL_TAGS),$(wildcard $(call $(TAGGED_TMPL_TAG_DIR),$(tag),$(1)))) # call with repodir + type argument
|
||||
TAGGED_TMPL_FIRST_DIR ?= $(firstword $(call $(TAGGED_TMPL_TAG_DIRS),$(1))) # call with repodir + type argument
|
||||
|
||||
#TAGGED_TMPL_ORIGIN ?= $(foreach tag,$(TAGGED_TMPL_TAGS),$(foreach e,$(TAGGED_TMPL_EXTS),$(wildcard $(call $(TAGGED_TMPL_TAG_DIR),$(tag))/*.$(e))))
|
||||
#TAGGED_TMPL_LOCAL = $(notdir $(TAGGED_TMPL_ORIGIN))
|
||||
#TAGGED_TMPL_GENERATED = $(patsubst %.tmpl,%,$(TAGGED_TMPL_LOCAL))
|
||||
|
||||
#TAGGED_TMPL_UNTEMPLATE = cat
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
#all: $(TAGGED_TMPL_GENERATED)
|
||||
#clean: tmpl.clean
|
||||
#
|
||||
#tmpl.clean:
|
||||
# /bin/bash $(JWB_SCRIPT_DIR)/scm.sh -f $(TAGGED_TMPL_GENERATED)
|
||||
#
|
||||
#%: %.tmpl
|
||||
# cat %< | $(TAGGED_TMPL_UNTEMPLATE) > $@.tmp
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
ifndef TARGETS_TOOLS_MK_INCLUDED
|
||||
TARGETS_TOOLS_MK_INCLUDED = true
|
||||
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
ifneq ($(strip $(SRC_ALL_CPP)),)
|
||||
|
||||
# mandatory targets
|
||||
all:
|
||||
# all.link
|
||||
install: $(ALL)
|
||||
|
||||
# convenience targets
|
||||
#link: all.link
|
||||
clean-link: clean.link
|
||||
|
||||
#all.link: $(HDRDIR_SCOPE_SUFFIX)
|
||||
|
||||
$(HDRDIR_SCOPE_SUFFIX):
|
||||
mkdir -p $(dir $(HDRDIR_SCOPE_SUFFIX))
|
||||
ln -s $(shell realpath -m . --relative-to $(dir $(HDRDIR_SCOPE_SUFFIX))) $@
|
||||
|
||||
ifeq ($(SCOPE_PREFIX),)
|
||||
#all.link: $(BUILD_HDRDIR)/$(HDRDIR_SCOPE_SUFFIX)
|
||||
|
||||
#$(BUILD_HDRDIR)/$(HDRDIR_SCOPE_SUFFIX):
|
||||
# cd $(BUILD_HDRDIR_BASE) && ln -s . $(HDRDIR_SCOPE_SUFFIX)
|
||||
endif
|
||||
|
||||
ifneq ($(TARGET),mingw)
|
||||
$(LIB_SO): $(BUILD_OBJ)
|
||||
endif
|
||||
|
||||
all.done: $(PREREQ_DONE) $(BUILD_HDR) $(BUILD_EXE_SH) $(MEMBERS) $(LIB_A) | $(HDRDIR_SCOPE_SUFFIX)
|
||||
|
||||
ifneq ($(TARGET),mingw)
|
||||
all.done: $(LIB_SO)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
clean: objclean textclean localclean profclean clean.link
|
||||
|
||||
clean.link:
|
||||
if [ -L "$(HDRDIR_SCOPE_SUFFIX)" -a "`realpath --relative-to . $(HDRDIR_SCOPE_SUFFIX) 2>/dev/null`" = . ]; then \
|
||||
rm $(HDRDIR_SCOPE_SUFFIX) ;\
|
||||
rmdir -p $(dir $(HDRDIR_SCOPE_SUFFIX)) 2>/dev/null || : ;\
|
||||
fi
|
||||
|
||||
CLANG_TIDY_H_C_CPP := $(shell $(ECHO) $(LOCAL_H) | xargs -r $(GREP) -l 'extern *"C"')
|
||||
CLANG_TIDY_H_C := $(wildcard [a-z]*.h)
|
||||
CLANG_TIDY_H_CPP := $(wildcard [A-Z]*.h)
|
||||
#CLANG_TIDY_H_CPP := $(filter-out $(CLANG_TIDY_H_C),$(LOCAL_H))
|
||||
|
||||
# false positives on assert(), see https://reviews.llvm.org/D31130
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-bounds-array-to-pointer-decay
|
||||
|
||||
# keep va_args
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-type-vararg
|
||||
|
||||
# keep pointer arithmetic
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-bounds-pointer-arithmetic
|
||||
|
||||
# don't have GSL (for now)
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-bounds-constant-array-index
|
||||
|
||||
CLANG_TIDY_FILTER = $(SED) 's%\[\([a-z-]\+\)\]$$%[https://clang.llvm.org/extra/clang-tidy/checks/\1.html]%'
|
||||
CLANG_TIDY_CHECKS ?= -$(subst $(space),,*,clang-analyzer-*,-clang-analyzer-cplusplus*,modernize-*,portability-*,cppcoreguidelines-*$(addprefix $(comma),$(CLANG_TIDY_EXTRA_ARGS)))
|
||||
CLANG_TIDY ?= clang-tidy -checks=$(CLANG_TIDY_CHECKS)
|
||||
|
||||
clean: clang-tidy-clean
|
||||
clang-tidy-clean:
|
||||
rm -f clang-tidy-cache*.tmp
|
||||
CLANG_TIDY_CACHE_CPP = clang-tidy-cache-cpp.tmp
|
||||
$(CLANG_TIDY_CACHE_CPP): $(LOCAL_CPP)
|
||||
$(CLANG_TIDY) $(LOCAL_CPP) -- $(FINAL_INCLUDE) -x c++ | $(CLANG_TIDY_FILTER) | tee $@
|
||||
|
||||
clang-tidy-h-c-cpp:
|
||||
ifneq ($(CLANG_TIDY_H_C_CPP),)
|
||||
$(CLANG_TIDY) $(CLANG_TIDY_H_C_CPP) -- $(FINAL_INCLUDE)
|
||||
endif
|
||||
clang-tidy-h-c:
|
||||
ifneq ($(CLANG_TIDY_H_C_C),)
|
||||
$(CLANG_TIDY) $(CLANG_TIDY_H_C) -- $(FINAL_INCLUDE)
|
||||
endif
|
||||
clang-tidy-h-cpp:
|
||||
ifneq ($(CLANG_TIDY_H_CPP),)
|
||||
$(CLANG_TIDY) $(CLANG_TIDY_H_CPP) -- $(FINAL_INCLUDE) -x c++
|
||||
endif
|
||||
clang-tidy-h: clang-tidy-h-c clang-tidy-h-cpp clang-tidy-h-c-cpp
|
||||
|
||||
clang-tidy-c:
|
||||
ifneq ($(LOCAL_C),)
|
||||
$(CLANG_TIDY) $(LOCAL_C) -- $(FINAL_INCLUDE)
|
||||
endif
|
||||
clang-tidy-cpp: $(CLANG_TIDY_CACHE_CPP)
|
||||
cat $<
|
||||
clang-tidy: clang-tidy-h clang-tidy-c clang-tidy-cpp
|
||||
|
||||
endif # ifndef TARGETS_TOOLS_MK_INCLUDED
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
EXE_BASENAME ?= test-$(notdir $(shell $(PWD)))
|
||||
|
||||
include $(JWBDIR)/make/run.mk
|
||||
|
||||
all: $(EXE)
|
||||
install:
|
||||
clean: execlean localclean profclean testclean
|
||||
distclean:
|
||||
run test: all.dirs $(EXE) $(EXE_BIN)
|
||||
strace: $(EXE) $(EXE_BIN)
|
||||
test: test.done
|
||||
|
||||
test.done:
|
||||
if ! 2>&1 make run > test.out 2>&1; then \
|
||||
$(CAT) test.out; \
|
||||
exit 1; \
|
||||
fi
|
||||
touch $@
|
||||
|
||||
testclean:
|
||||
$(RM) -rf test.done test.out
|
||||
|
||||
ifeq ($(USE_PROJECT_LIB),true)
|
||||
$(LIB_SO): $(LIB_A)
|
||||
$(EXE): $(LIB_SO)
|
||||
endif
|
||||
all.dirs:
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
all:
|
||||
install:
|
||||
clean:
|
||||
distclean:
|
||||
|
||||
JAVA_TEST_MAIN_JAVA = $(JAVA_SRC_DIR)/$(JAVA_TEST_MAIN_CLASS).java
|
||||
#JAVA_TEST_MAIN_CLASSFILE = $(JAVA_SRC_DIR)/$(JAVA_TEST_MAIN_CLASS).class
|
||||
JAVA_SRC += $(JAVA_TEST_MAIN_JAVA)
|
||||
|
||||
#include $(JWBDIR)/make/java.mk
|
||||
|
||||
run test: $(JAVA_CLASSFILES)
|
||||
CLASSPATH=$(shell echo $(CLASSPATH) | sed 's/ */:/g') time -p java $(JAVA_JVM_OPTS) $(JAVA_TEST_MAIN_CLASS) $(EXE_ARGS)
|
||||
433
make/tex.mk
433
make/tex.mk
|
|
@ -1,433 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
# -- project data
|
||||
CUSTOMER ?= jannet
|
||||
PROJECT ?= legal
|
||||
TOPIC ?= $(notdir $(shell $(PWD)))
|
||||
VERSION ?= $(shell sed "s/-dev$$//" VERSION)
|
||||
AUTHORS ?=
|
||||
#TITLE ?= Allgemeine Bedingungen für
|
||||
#SUBTITLE ?= Dienstgüte-Vereinbarungen
|
||||
DATE ?= $(shell date +'%Y/%m/%d')
|
||||
#CONFIDENTIAL_REMARK ?= Vertraulich
|
||||
BEAMER_HANDOUT ?= false
|
||||
BEAMER_ASPECTRATIO ?= 169
|
||||
|
||||
# -- files
|
||||
MAIN ?= main
|
||||
HEADER ?= header
|
||||
FRONTPAGE ?= frontpage
|
||||
OUTPUT ?= $(patsubst %-dev,%,$(TOPIC)-$(VERSION))
|
||||
DISTDIR ?= dist
|
||||
|
||||
# -- dependencies
|
||||
LOCAL_PREREQ ?= Makefile cfg.mk main.tex.tmpl \
|
||||
$(wildcard *.tex)
|
||||
|
||||
# -- formatting
|
||||
#DOCUMENT_CLASS ?= book
|
||||
ifneq ($(MAKECMDGOALS),html)
|
||||
DOCUMENT_CLASS ?= article
|
||||
else
|
||||
DOCUMENT_CLASS ?= article
|
||||
endif
|
||||
TEX_TMPL_BASE_DIR ?= $(JWBDIR)/tmpl/tex
|
||||
TEX_TMPL_STYLE ?= de_technical
|
||||
TEX_TMPL_DIR ?= $(TEX_TMPL_BASE_DIR)/$(TEX_TMPL_STYLE)
|
||||
IMPORTED_TEMPLATES ?= $(shell ls $(TEX_TMPL_DIR)/*.tmpl)
|
||||
WWW_IMAGEDIR ?= $(PROJECTS_DIR)/jw-build/htdocs/images/logo-janware/
|
||||
FRONTLOGO_PDF ?= logo-janware.pdf
|
||||
FRONTLOGO_EPS ?= janware-frontpage-top-right.png
|
||||
FRONTLOGO_WEB ?= janware-frontpage-top-right.png
|
||||
ICON_UP ?= up.png
|
||||
ICON_PREV ?= prev.png
|
||||
ICON_NEXT ?= next.png
|
||||
ICON_INDEX ?= index.png
|
||||
ICON_CONTENTS ?= contents.png
|
||||
|
||||
# -- web publishing
|
||||
HTMLDIR ?= $(TOPIC)
|
||||
TARGET_HOST ?= cvs.janware.com
|
||||
TARGET_DIR ?= /home/wwwrun/dat/htdocs/jannet.de_443/upload/$(CUSTOMER)/projects/$(PROJECT)/doc/$(TOPIC)
|
||||
TARGET_DIR_MODE ?= 755
|
||||
TARGET_FILE_MODE ?= 644
|
||||
TARGET_USER ?= root
|
||||
|
||||
UPLOAD_MODULE ?= doc/$(TOPIC)
|
||||
UPLOAD_FILE_MODE ?= 644
|
||||
UPLOAD_DIR_MODE ?= 755
|
||||
|
||||
include $(JWBDIR)/make/tag-defs.mk
|
||||
include $(JWBDIR)/make/tag-rules.mk
|
||||
|
||||
ifeq ($(TEX_TMPL_DIR), "")
|
||||
TEX_TMPL_DIR = thisisnotadirectory
|
||||
endif
|
||||
latex = latex
|
||||
PDFLATEX ?= pdflatex
|
||||
PDF_VIEWER ?= $(firstword $(shell which okular kpdf acroread))
|
||||
CAT ?= cat
|
||||
SED ?= sed
|
||||
COMPILATION_RUN_NAMES ?= 1 2 3
|
||||
|
||||
# this is what is there already
|
||||
PRE_FIG_LOCAL = $(wildcard *.fig)
|
||||
PRE_TEX_LOCAL = $(wildcard *.tex)
|
||||
PRE_TMPL_LOCAL = $(wildcard *.tmpl *.ger)
|
||||
PRE_HTML_LOCAL = $(wildcard *.html)
|
||||
PRE_FIG_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.fig))
|
||||
PRE_TEX_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.tex))
|
||||
PRE_TMPL_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.tmpl $(dir)/*.ger))
|
||||
PRE_HTML_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.html))
|
||||
|
||||
# this is what should be there
|
||||
FILES_FROM_TMPL = $(notdir $(patsubst %.ger,%.tex,$(patsubst %.tmpl,%,$(PRE_TMPL_REMOTE) $(PRE_TMPL_LOCAL))))
|
||||
EPS_FROM_FIG = $(notdir $(patsubst %.fig,%.png,$(PRE_FIG_REMOTE) $(PRE_FIG_LOCAL)))
|
||||
FILES_COPIED = $(notdir $(wildcard $(TEX_TMPL_DIR)/*.html $(TEX_TMPL_DIR)/*.tex))
|
||||
GENERATED += $(FILES_FROM_TMPL) $(EPS_FROM_FIG) $(FILES_COPIED) $(FRONTLOGO_PDF)
|
||||
GENERATED_TEX = $(filter %.tex,$(GENERATED))
|
||||
GENERATED_EPS = $(filter %.png,$(GENERATED))
|
||||
GENERATED_HTML = $(filter %.html,$(GENERATED))
|
||||
|
||||
CMD_PARSE_GRAPHICS = $(SED) '/includegraphics/ !d; s/[^{]*{\([^}]*\).*/\1/; /^\.\./ d; s/^.\///' *.tex *.tmpl | sort -u
|
||||
|
||||
CONTACT_EMAIL ?= contact@janware.com
|
||||
ifeq ($(DIST_VERSION),)
|
||||
DIST_VERSION = $(VERSION)
|
||||
endif
|
||||
|
||||
# all
|
||||
TEX = $(PRE_TEX_LOCAL) $(GENERATED_TEX)
|
||||
EPS = $(GENERATED_EPS)
|
||||
HTML = $(PRE_HTML_LOCAL) $(GENERATED_HTML)
|
||||
|
||||
LATEX_INPUT = $(TEX) $(EPS)
|
||||
HTML_INPUT = $(HTML) $(IMAGES)
|
||||
|
||||
# this comes in handy
|
||||
DATE_FORMAT ?= '%b, %d, %Y'
|
||||
DATE := $(if $(DATE),$(shell date +$(DATE_FORMAT) --date $(DATE)),$(shell date +$(DATE_FORMAT)))
|
||||
TEX_WARN_DONT_EDIT = "\
|
||||
%+---------------------------------------------------+\n\
|
||||
%| DO NOT EDIT THIS FILE! |\n\
|
||||
%| It was automatically created during the build |\n\
|
||||
%| process! |\n\
|
||||
%+---------------------------------------------------+\n"
|
||||
HTML_WARN_DONT_EDIT = "\
|
||||
<!--\n\
|
||||
+---------------------------------------------------+\n\
|
||||
| DO NOT EDIT THIS FILE! |\n\
|
||||
| It was automatically created during the build |\n\
|
||||
| process! |\n\
|
||||
+---------------------------------------------------+\n\
|
||||
-->"
|
||||
WD = $(shell $(PWD))
|
||||
|
||||
IMAGES = $(patsubst %,$(IMAGEDIR)/%,$(FRONTLOGO_EPS) $(FRONTLOGO_WEB) $(FRONTLOGO_PDF) \
|
||||
$(ICON_UP) $(ICON_PREV) $(ICON_NEXT) $(ICON_INDEX) $(ICON_CONTENTS)) \
|
||||
|
||||
#LOCAL_IMPORTED_TEMPLATES = $(notdir $(IMPORTED_TEMPLATES))
|
||||
#FMT_OFFLINE = tex dvi ps pdf txt
|
||||
FMT_OFFLINE = tex pdf # txt
|
||||
FMT = $(FMT_OFFLINE) html
|
||||
OUT = $(DISTDIR)/$(OUTPUT)
|
||||
FMT_OUT = $(patsubst %,$(OUT).%.zip,$(FMT))
|
||||
FMT_OFFLINE_OUT = $(patsubst %,$(OUT).%.zip,$(FMT_OFFLINE))
|
||||
ALL = $(FMT_OUT) html_install
|
||||
#PRE_HTML = $(patsubst %.tmpl,%,$(wildcard *.html.tmpl))
|
||||
#LINETMPL = $(wildcard *.linetmpl)
|
||||
#TEXFROMGER = $(patsubst %.ger,%.tex,$(wildcard *.ger))
|
||||
#TMPL = $(wildcard *.tmpl)
|
||||
#FILEFROMTMPL = $(patsubst %.tmpl,%,$(TMPL))
|
||||
#GERFROMLINETMPL = $(patsubst %.linetmpl,%,$(wildcard *.linetmpl))
|
||||
#PRE_TEX = $(patsubst %.ger,%.tex,\
|
||||
# $(patsubst %.tmpl,%,$(wildcard *.tex.tmpl *.ger.tmpl) $(LOCAL_IMPORTED_TEMPLATES)) \
|
||||
# $(GERFROMLINETMPL)) $(TEXFROMGER)
|
||||
NEWDIRS = $(DISTDIR) $(HTMLDIR) $(DVIDIR)
|
||||
|
||||
ifeq ($(DOCUMENT_CLASS),)
|
||||
DOCUMENT_CLASS = article
|
||||
endif
|
||||
|
||||
ifeq ($(BEAMER_HANDOUT),true)
|
||||
DOCUMENT_CLASS_OPTIONS += ,handout
|
||||
endif
|
||||
|
||||
ifneq ($(BEAMER_ASPECTRATIO),)
|
||||
DOCUMENT_CLASS_OPTIONS += ,aspectratio=$(BEAMER_ASPECTRATIO)
|
||||
endif
|
||||
|
||||
ifneq ($(BEAMER_HANDOUT),true)
|
||||
BEAMER_ANIMATION_FRAMES ?= 36
|
||||
else
|
||||
BEAMER_ANIMATION_FRAMES ?= 1
|
||||
endif
|
||||
|
||||
define mangle_tmpl
|
||||
@echo "+ generating $< -> $@"
|
||||
@if [ $(suffix $@) = tex ]; then echo -e $(TEX_WARN_DONT_EDIT) > $@; fi
|
||||
@if [ $(suffix $@) = html ]; then echo -e $(HTML_WARN_DONT_EDIT) > $@; fi
|
||||
$(CAT) $< | $(SED) -e "\
|
||||
s%__DATE__%$(DATE)%g; \
|
||||
s%__AUTHORS__%$(AUTHORS)%g; \
|
||||
s%__CONTACT_EMAIL__%$(CONTACT_EMAIL)%g; \
|
||||
s%__TITLE__%$(TITLE)%g; \
|
||||
s%__VERSION__%$(DIST_VERSION)%g; \
|
||||
s%__CUSTOMER__%$(CUSTOMER)%g; \
|
||||
s%__TOPIC__%$(TOPIC)%g; \
|
||||
s%__SUBTITLE__%$(SUBTITLE)%g; \
|
||||
s%__CONFIDENTIAL_REMARK__%$(CONFIDENTIAL_REMARK)%g; \
|
||||
s%__HEADER__%$(HEADER)%g; \
|
||||
s%__FRONTPAGE__%$(FRONTPAGE)%g; \
|
||||
s%__FRONTLOGO_EPS__%$(IMAGEDIR)/$(FRONTLOGO_EPS)%g; \
|
||||
s%__FRONTLOGO_PDF__%$(FRONTLOGO_PDF)%g; \
|
||||
s%__FRONTLOGO_WEB__%$(FRONTLOGO_WEB)%g; \
|
||||
s%__ICON_UP__%$(ICON_UP)%g; \
|
||||
s%__ICON_INDEX__%$(ICON_INDEX)%g; \
|
||||
s%__ICON_CONTENTS__%$(ICON_CONTENTS)%g; \
|
||||
s%__ICON_PREV__%$(ICON_PREV)%g; \
|
||||
s%__ICON_NEXT__%$(ICON_NEXT)%g; \
|
||||
s%__DOCUMENT_CLASS__%$(DOCUMENT_CLASS)%g; \
|
||||
s%__UPLOAD_MODULE_PATH__%$(UPLOAD_MODULE_PATH)%g; \
|
||||
s%__UPLOAD_TEST_PREFIX__%$(UPLOAD_TEST_PREFIX)%g; \
|
||||
s%__DOCUMENT_CLASS_OPTIONS__%$(DOCUMENT_CLASS_OPTIONS)%g; \
|
||||
s%__ANIMATION_FRAMES__%$(BEAMER_ANIMATION_FRAMES)%g; \
|
||||
s%ä%\\\\\"a%g; \
|
||||
s%Ä%\\\\\"A%g; \
|
||||
s%ö%\\\\\"o%g; \
|
||||
s%Ö%\\\\\"O%g; \
|
||||
s%ü%\\\\\"u%g; \
|
||||
s%Ü%\\\\\"U%g; \
|
||||
s%ß%\\\"s%g; \
|
||||
s%\xc3\xa4%\\\\\"a%g; \
|
||||
s%\xc3\x84%\\\\\"A%g; \
|
||||
s%\xc3\xb6%\\\\\"o%g; \
|
||||
s%\xc3\x96%\\\\\"O%g; \
|
||||
s%\xc3\xbc%\\\\\"u%g; \
|
||||
s%\xc3\x9c%\\\\\"U%g; \
|
||||
s%\xc3\x9f%\\\"s%g; \
|
||||
" | awk ' \
|
||||
BEGIN { FS=":" } { \
|
||||
if ($$0 ~ /SUBST_LINE_NUM/) { \
|
||||
start=$$1; patt=$$2; file=$$3; \
|
||||
regex=$$4; offset=$$5; rest=$$6; \
|
||||
grepcmd="grep -n \042" regex "\042 " file; \
|
||||
grepcmd | getline; \
|
||||
linenum=$$1; \
|
||||
print start linenum rest \
|
||||
} else { print $$0 } } \
|
||||
' >> $@.tmp
|
||||
@mv $@.tmp $@
|
||||
endef
|
||||
|
||||
first_target: dirs $(ALL)
|
||||
|
||||
tex: dirs $(OUT).tex.zip
|
||||
dvi: dirs $(OUT).dvi.zip
|
||||
ps: dirs $(OUT).ps.zip
|
||||
txt: dirs $(OUT).txt.zip
|
||||
html: dirs $(OUT).html.zip
|
||||
pdf: dirs $(OUT).pdf.zip
|
||||
odt: dirs $(OUT).odt
|
||||
texsrc: $(GENERATED)
|
||||
|
||||
# generate from remote rules
|
||||
%.png: $(TEX_TMPL_DIR)/%.fig
|
||||
fig2dev -L png $< $@
|
||||
|
||||
%.html: $(TEX_TMPL_DIR)/%.html
|
||||
cp $< $@
|
||||
|
||||
%.tex: $(TEX_TMPL_DIR)/%.tex
|
||||
cp $< $@
|
||||
|
||||
%.tex: %.tex.tmpl
|
||||
$(mangle_tmpl)
|
||||
|
||||
%.tex: $(TEX_TMPL_DIR)/%.tex.tmpl
|
||||
$(mangle_tmpl)
|
||||
|
||||
%.html: $(TEX_TMPL_DIR)/%.html.tmpl
|
||||
$(mangle_tmpl)
|
||||
|
||||
# generate from local rules
|
||||
%.png: %.fig
|
||||
fig2dev -L png $< $@
|
||||
|
||||
%.tex: %.ger
|
||||
$(mangle_tmpl)
|
||||
|
||||
%: %.tmpl
|
||||
$(mangle_tmpl)
|
||||
|
||||
$(FRONTLOGO_PDF): $(WWW_IMAGEDIR)/$(patsubst %.pdf,%.svg,$(FRONTLOGO_PDF))
|
||||
inkscape --export-filename="$@" $<
|
||||
|
||||
%.pdf: %.svg
|
||||
inkscape --export-filename="$@" $<
|
||||
|
||||
$(WWW_IMAGEDIR)/%.svg: %.svg
|
||||
cp $< $@
|
||||
|
||||
$(CVS_IMAGEDIR)/%.svg: %.svg
|
||||
cp $< $@
|
||||
|
||||
$(CVS_IMAGEDIR)/%.png: %.png
|
||||
cp $< $@
|
||||
|
||||
cfgtest.done:
|
||||
test -n "$(OUTPUT)" # OUTPUT
|
||||
test -n "$(DISTDIR)" # DISTDIR
|
||||
test -n "$(HTMLDIR)" # HTMLDIR
|
||||
test -n "$(TARGET_HOST)" # TARGET_HOST
|
||||
test -n "$(TARGET_DIR)" # TARGET_DIR
|
||||
test -n "$(TARGET_DIR_MODE)" # TARGET_DIR_MODE
|
||||
test -n "$(TARGET_FILE_MODE)" # TARGET_FILE_MODE
|
||||
test -n "$(TARGET_USER)" # TARGET_USER
|
||||
test -n "$(MAIN)" # MAIN
|
||||
test -n "$(FRONTPAGE)" # FRONTPAGE
|
||||
test -n "$(IMAGES)" # IMAGES
|
||||
test -n "$(AUTHORS)" # AUTHORS
|
||||
test -n "$(TITLE)" # TITLE
|
||||
test -n "$(SUBTITLE)" # SUBTITLE
|
||||
test -d $(WWW_IMAGEDIR) # IMAGEDIR
|
||||
@for IMG in $(IMAGES); do if [ ! -f $$IMG ]; then echo "$$IMG is missing"; exit 1; fi; done
|
||||
test -n "$(VERSION)" # VERSION
|
||||
touch $@
|
||||
|
||||
test:
|
||||
@echo TEX_TMPL_DIR = $(TEX_TMPL_DIR)
|
||||
@echo GENERATED = $(GENERATED)
|
||||
@echo FILES_FROM_TMPL = $(FILES_FROM_TMPL)
|
||||
@echo EPS_FROM_FIG = $(EPS_FROM_FIG)
|
||||
|
||||
cfgtest: cfgtest.done
|
||||
|
||||
#%.clean:
|
||||
# $(RM) -rf $(OUT).%.zip
|
||||
|
||||
dirs.done:
|
||||
mkdir -p $(NEWDIRS)
|
||||
touch dirs.done
|
||||
|
||||
dirs: dirs.done
|
||||
|
||||
arch:
|
||||
test $(shell uname -s) = Linux
|
||||
|
||||
xdvi: $(LATEX_INPUT)
|
||||
@echo "-- running latex just once ..."
|
||||
$(latex) $(MAIN).tex
|
||||
xdvi $(MAIN).dvi
|
||||
|
||||
xpdf: $(LATEX_INPUT)
|
||||
@echo "-- running latex just once ..."
|
||||
$(PDFLATEX) $(MAIN).tex
|
||||
$(PDF_VIEWER) $(MAIN).pdf
|
||||
|
||||
$(OUT).tex.zip: cfgtest $(LATEX_INPUT)
|
||||
@echo "-- creating zipfile with tex source files"
|
||||
zip $@ $(LATEX_INPUT) 2>/dev/null
|
||||
|
||||
#$(OUTPUT).dvi: $(LATEX_INPUT)
|
||||
# @echo "-- creating dvi file"
|
||||
# $(latex) $(MAIN).tex; $(latex) $(MAIN).tex; $(latex) $(MAIN).tex;
|
||||
# cp $(MAIN).dvi $@
|
||||
|
||||
#$(OUT).dvi.zip: $(OUTPUT).dvi
|
||||
# zip $@ $^
|
||||
|
||||
#$(OUTPUT).txt: $(OUTPUT).dvi
|
||||
# @echo "-- creating plain ascii file"
|
||||
# dvi2tty $< -w100 -o $@
|
||||
|
||||
#$(OUT).txt.zip: $(OUTPUT).txt
|
||||
# zip $@ $<
|
||||
|
||||
TEX4HT_FIRST_LATEX_LINE = \
|
||||
'\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"\#\#1"{\Link\#\#1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link\#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[\#1,html,3,sections+]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{\#1,html,3}\def\HCode\#\#\#\#1{\documentstyle[tex4ht,3}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode .a.b.c.\input'
|
||||
|
||||
$(HTMLDIR): $(LATEX_INPUT) $(HTML_INPUT)
|
||||
test $(MAIN) != index
|
||||
$(RM) -rf $@
|
||||
mkdir -p $@
|
||||
latex $(TEX4HT_FIRST_LATEX_LINE) $(MAIN)
|
||||
latex $(TEX4HT_FIRST_LATEX_LINE) $(MAIN)
|
||||
latex $(TEX4HT_FIRST_LATEX_LINE) $(MAIN)
|
||||
tex4ht $(MAIN)
|
||||
t4ht -d$(HTMLDIR) $(MAIN)
|
||||
#$(CAT) index_head.html $(MAIN.html) index_tail.html > index.html
|
||||
$(CAT) $(MAIN.html) > index.html
|
||||
mv *.html *.css $(HTMLDIR)
|
||||
mkdir -p $(addprefix $(HTMLDIR)/,$(sort $(dir $(shell $(CMD_PARSE_GRAPHICS)))))
|
||||
for g in $(sort $(shell $(CMD_PARSE_GRAPHICS))); do cp $$g $(HTMLDIR)/$$g; done
|
||||
#cp -p $(IMAGES) $(HTMLDIR)
|
||||
touch $@
|
||||
|
||||
$(OUT).html.zip: $(HTMLDIR)
|
||||
@echo "-- creating zipfile with html source files"
|
||||
zip -r $@ $(HTMLDIR)
|
||||
|
||||
#$(OUTPUT).ps: $(OUTPUT).dvi
|
||||
# @echo "-- creating postscript file"
|
||||
# dvips -f $< > $(OUTPUT).ps
|
||||
|
||||
#$(OUT).ps.zip: $(OUTPUT).ps
|
||||
# zip $@ $<
|
||||
|
||||
$(OUTPUT).pdf: $(GENERATED)
|
||||
@echo "-- creating pdf file"
|
||||
@for i in $(COMPILATION_RUN_NAMES) ; do \
|
||||
if [ $$i != $(lastword $(COMPILATION_RUN_NAMES)) ]; then dm="-draftmode"; else dm=""; fi ;\
|
||||
echo ================================================================== pass $$i: running $(PDFLATEX) $$dm $(MAIN).tex ;\
|
||||
$(PDFLATEX) $$dm $(MAIN).tex || exit 1 ;\
|
||||
done
|
||||
@mv $(MAIN).pdf $(OUTPUT).pdf
|
||||
|
||||
$(OUT).pdf.zip: $(OUTPUT).pdf
|
||||
zip $@ $<
|
||||
|
||||
$(OUTPUT).odt: $(GENERATED)
|
||||
@echo "-- creating odt file"
|
||||
mk4ht oolatex $(MAIN).tex
|
||||
mv $(MAIN).odt $(OUTPUT).odt
|
||||
|
||||
html_install: $(HTMLDIR)
|
||||
@echo "-- installing html to $(TARGET_HOST):$(TARGET_DIR) as user $(TARGET_USER)"
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
mkdir -p $(TARGET_DIR); chmod $(TARGET_DIR_MODE) $(TARGET_DIR)"
|
||||
/usr/bin/rsync -az --delete -v --links -e $(CVS_RSH) $(HTMLDIR)/* $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR)
|
||||
$(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\
|
||||
cd $(TARGET_DIR); find . -type d | xargs chmod $(TARGET_DIR_MODE); find . -type f | xargs chmod $(TARGET_FILE_MODE)"
|
||||
|
||||
clean:
|
||||
@echo "-- cleaning up ..."
|
||||
$(RM) -rf *.maf *.mtc *.mtc0 *.ptc1 \
|
||||
*.aux *.toc *.dvi *.pdf *.ps *~ *.log *.done *.rep *.nav *.snm *.tdo \
|
||||
*.4ct *.4tc *.4of *.4oo *.4os *.4og */*.4og *.css *.html *.idv *.lg *.xref *.odt \
|
||||
*.lol *.bak *.idx *.ilg *.ind *.out *.brf .\#* \#* *.vrb \
|
||||
$(NEWDIRS) $(OUTPUT).txt \
|
||||
$(GENERATED) \
|
||||
$(CLEAN)
|
||||
|
||||
priceclean: clean
|
||||
for f in `grep -i euro *.tmpl | cut -d: -f1 | sort -u`; do \
|
||||
grep -vi euro $$f > $$f.new ;\
|
||||
mv $$f.new $$f ;\
|
||||
done
|
||||
|
||||
view: pdf
|
||||
$(PDF_VIEWER) $(OUTPUT).pdf
|
||||
|
||||
unzip:
|
||||
unzip *.zip
|
||||
|
||||
%-handout:
|
||||
BEAMER_HANDOUT=true make $*
|
||||
|
||||
UPLOAD_FILES = $(OUTPUT).pdf
|
||||
|
||||
include $(JWBDIR)/make/upload.mk
|
||||
13
make/text.mk
13
make/text.mk
|
|
@ -1,13 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
all:
|
||||
install:
|
||||
distclean: textclean localclean
|
||||
clean: textclean localclean
|
||||
test:
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
SOURCES = $(wildcard *.tex)
|
||||
PDF_VIEWER ?= $(firstword $(shell which okular acroread))
|
||||
PNG_VIEWER ?= $(firstword $(shell which qiv gimp))
|
||||
MAIN_TEX ?= $(firstword $(wildcard main.tex *.tex))
|
||||
MAIN ?= $(patsubst %.tex,$(MAIN_TEX))
|
||||
OUT_PDF ?= $(notdir $(shell $(PWD))).pdf
|
||||
OUT_PNG ?= $(patsubst %.pdf,%.png,$(OUT_PDF))
|
||||
PNG_WIDTH ?= 200
|
||||
|
||||
all: pdf
|
||||
clean: clean.files
|
||||
install:
|
||||
distclean:
|
||||
|
||||
pdf: $(OUT_PDF)
|
||||
png: $(OUT_PNG)
|
||||
|
||||
view: $(OUT_PDF)
|
||||
$(PDF_VIEWER) $<
|
||||
|
||||
view-png: $(OUT_PNG)
|
||||
$(PNG_VIEWER) $<
|
||||
|
||||
$(OUT_PDF): $(SOURCES)
|
||||
pdflatex $(MAIN_TEX)
|
||||
test -e $(basename $(MAIN_TEX)).pdf
|
||||
if [ "$(basename $(MAIN_TEX)).pdf" != "$(OUT_PDF)" ]; then mv $(basename $(MAIN_TEX)).pdf $(OUT_PDF); fi
|
||||
touch $@
|
||||
|
||||
$(OUT_PNG): $(OUT_PDF)
|
||||
convert -density 400 -scale x$(PNG_WIDTH) $< $@
|
||||
|
||||
clean.files:
|
||||
$(RM) -rf *.done *.aux *.log *.pdf *.nav *.out *.snm *.toc .*.swp $(OUT_PNG) *.vrb
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
BASEDIR = $(PROJECT_HTML_THEMES_DIR)/$(patsubst theme-%,%,$(PROJECT))/images
|
||||
|
||||
GENERATED_IMAGES = $(shell find . -name generate.conf | xargs -r dirname | \
|
||||
while read d; do sed "s%^%$$d/%" $$d/generate.conf; done)
|
||||
|
||||
all:
|
||||
install: install-images.done
|
||||
clean: doneclean
|
||||
distclean:
|
||||
|
||||
%-greyed-out.png: %.png
|
||||
/bin/bash $(JWB_SCRIPT_DIR)/convert-to-greyed-out-image.sh $< $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
basedir.done:
|
||||
$(INSTALL) -d -m $(IMGDIRMODE) -o $(IMGDIROWNER) -g $(IMGDIRGROUP) $(BASEDIR)
|
||||
touch $@
|
||||
|
||||
generate.done: $(GENERATED_IMAGES)
|
||||
|
||||
install-images.done: basedir.done generate.done $(INSTALLED_IMG)
|
||||
for d in `find . -type d -a ! -name . -a ! -name CVS`; do \
|
||||
$(INSTALL) -d -m $(IMGDIRMODE) -o $(IMGDIROWNER) -g $(IMGDIRGROUP) $(BASEDIR)/$$d ;\
|
||||
done
|
||||
for f in `find . -name '*.png' -o -name '*.jpg' -o -name '*.gif'`; do \
|
||||
$(INSTALL) -p -m $(IMGMODE) -o $(IMGOWNER) -g $(IMGGROUP) $$f $(BASEDIR)/$$f ;\
|
||||
done
|
||||
touch $@
|
||||
|
||||
blah:
|
||||
@echo GENERATED_IMAGES = $(GENERATED_IMAGES)
|
||||
22
make/tmpl.mk
22
make/tmpl.mk
|
|
@ -1,22 +0,0 @@
|
|||
include $(JWBDIR)/make/defs.mk
|
||||
|
||||
# -- TMPL
|
||||
INSTALLATION_FILE_TYPES += TMPL
|
||||
BUILD_TMPLDIR = $(TOPDIR)/tmpl
|
||||
LOCAL_TMPL += $(filter-out $(DONT_INSTALL),$(wildcard *.tmpl))
|
||||
ifndef TMPL_SUBDIR
|
||||
TMPL_SUBDIR := $(shell $(PWD) | $(SED) '/.*\/tmpl\(\/\|$$\)/!d; s%.*/tmpl\(/\|$$\)%%')
|
||||
endif
|
||||
ifeq ($(TMPL_SUBDIR),)
|
||||
INSTALL_TMPLDIR = $(PROJECT_TMPLDIR)
|
||||
else
|
||||
INSTALL_TMPLDIR = $(PROJECT_TMPLDIR)/$(TMPL_SUBDIR)
|
||||
endif
|
||||
INSTALLED_TMPL += $(addprefix $(INSTALL_TMPLDIR)/,$(LOCAL_TMPL))
|
||||
|
||||
include $(JWBDIR)/make/rules.mk
|
||||
|
||||
all:
|
||||
install: install_TMPL
|
||||
clean: textclean localclean doneclean
|
||||
test:
|
||||
|
|
@ -1 +0,0 @@
|
|||
include $(JWBDIR)/make/dummy.mk
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# generic utility modules
|
||||
# (c) 2001 jannet it services
|
||||
# contact@jannet.de
|
||||
# $Id$
|
||||
|
||||
include $(JWBDIR)/make/defs.mk
|
||||
include $(JWBDIR)/make/defs-cpp.mk
|
||||
include $(JWBDIR)/make/profiler-defs.mk
|
||||
include $(JWBDIR)/make/targets-tools.mk
|
||||
include $(JWBDIR)/make/cpp-extra-targets.mk
|
||||
include $(JWBDIR)/make/depend.mk
|
||||
include $(JWBDIR)/make/backup.mk
|
||||
include $(JWBDIR)/make/dev-utils.mk
|
||||
|
||||
FINAL_CFLAGS += -D_USRDLL -DALL_EXPORTS
|
||||
FINAL_CXXFLAGS += -D_USRDLL -DALL_EXPORTS
|
||||
|
||||
ifneq ($(SRC_ALL_CPP),)
|
||||
all: all.done
|
||||
endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
AUTOCONF_IN := $(wildcard *.in */*.in */*/*.in)
|
||||
# AUTOCONF_IN := $(shell find . -maxdepth 3 -name '*.in' | grep -v dist)
|
||||
AUTOCONF_GENERATED := $(patsubst %.in,%,$(AUTOCONF_IN))
|
||||
|
||||
include $(JWBDIR)/make/topdir.mk
|
||||
|
||||
ifneq ($(AUTOCONF_IN),)
|
||||
ifneq ($(AUTOCONF_GENERATED),$(wildcard $(AUTCONF_GENERATED)))
|
||||
include $(JWBDIR)/make/autoconf.mk
|
||||
endif
|
||||
endif
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
# this makefile needs
|
||||
# PCKG_ROOT
|
||||
# VERSION
|
||||
# JWB_SCRIPT_DIR
|
||||
|
||||
#UPLOAD_SH = $(JWB_SCRIPT_DIR)/upload.sh
|
||||
#MKSPEC_SH = $(JWB_SCRIPT_DIR)/mkspec-wrapper.sh $(TOPDIR)/make/mkspec.sh
|
||||
|
||||
#FTP_FILE_MODE ?= 640
|
||||
#FTP_DIR_MODE ?= 750
|
||||
#FTP_SRC_GROUP ?= spidsrc
|
||||
#FTP_SRC_USER ?= $(shell whoami)
|
||||
#FTP_RUN_GROUP ?= spidrun
|
||||
#FTP_RUN_USER ?= $(shell whoami)
|
||||
#FTP_DEV_GROUP ?= spiddev
|
||||
#FTP_DEV_USER ?= $(shell whoami)
|
||||
#FTP_HOST ?= pkg.janware.com
|
||||
#FTP_HOST_LOGIN ?= root
|
||||
#
|
||||
#OS_NAME = $(shell echo $(OS_NAME_VERSION) | sed 's/-.*//')
|
||||
#OS_VERSION = $(shell echo $(OS_NAME_VERSION) | sed 's/[^-]\+-//')
|
||||
#
|
||||
## $(FTP_PCKG_DIR)/linux/$(OS_NAME)/$(OS_VERSION)/rpm/src
|
||||
#FTP_PCKG_DIR ?= /pub/packages
|
||||
#PCKG_ROOT ?= $(FTP_PCKG_DIR)/linux/$(OS_NAME)/$(OS_VERSION)
|
||||
##PCKG_ROOT = $(FTP_PCKG_DIR)/$(RPM_PROJECT)
|
||||
#CURRENT_SRC = $(warning PCKG_ROOT=$(PCKG_ROOT))$(PCKG_ROOT)/tgz/$(PCKG_TAR)
|
||||
#CURRENT_RPM_RUN_I386 = $(PCKG_ROOT)/$(RPM_ARCH)/$(PCKG_RPM_RUN_I386)
|
||||
#CURRENT_RPM_DEVEL_I386 = $(PCKG_ROOT)/$(RPM_ARCH)/$(PCKG_RPM_DEVEL_I386)
|
||||
#CURRENT_RPM_SRC = $(PCKG_ROOT)/src/$(PCKG_RPM_SRC)
|
||||
#REMOTE_TARGET_PREFIX = rsync_ssh://$(FTP_HOST_LOGIN)@$(FTP_HOST):/srv/ftp
|
||||
#REMOTE_TARGETS = \
|
||||
# $(REMOTE_TARGET_PREFIX)$(CURRENT_SRC):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
|
||||
# $(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_RUN_I386):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_RUN_USER).$(FTP_RUN_GROUP)\
|
||||
# $(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_SRC):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_SRC_USER).$(FTP_SRC_GROUP)
|
||||
#
|
||||
#ifeq ($(CREATE_DEVEL),true)
|
||||
#REMOTE_TARGETS += \
|
||||
# $(REMOTE_TARGET_PREFIX)$(CURRENT_RPM_DEVEL_I386):$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_DEV_USER).$(FTP_DEV_GROUP)
|
||||
#endif
|
||||
|
||||
# $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_SRC:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_SRC_USER).$(FTP_SRC_GROUP) \
|
||||
# $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_SRC:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_SRC_USER).$(FTP_SRC_GROUP)
|
||||
# $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_RUN_I386:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_RUN_USER).$(FTP_RUN_GROUP) \
|
||||
# $(REMOTE_TARGET_PREFIX)$(PCKG_ROOT)/CURRENT_RPM_DEVEL_I386:$(FTP_FILE_MODE):$(FTP_DIR_MODE):$(FTP_DEV_USER).$(FTP_DEV_GROUP)
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
all:
|
||||
upload.dist:
|
||||
if [ -f configure -o -f configure.ac -o -f configure.ac.tmpl ]; then make config; fi
|
||||
make $(REMOTE_TARGETS)
|
||||
touch $@.done
|
||||
|
||||
yupdate.%.dist:
|
||||
sudo -u root $(HOME)/bin/yupdate.sh -f $(HOME)/.yupdaterc -s $*
|
||||
touch $@
|
||||
|
||||
CURRENT_%:
|
||||
echo $($(notdir $@)) > $@
|
||||
|
||||
clean: upload.clean
|
||||
|
||||
upload.clean:
|
||||
$(RM) -f upload.dist yupdate.*.dist
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
include $(JWBDIR)/make/upload-defs.mk
|
||||
|
||||
UPLOAD_LAST_VERSION_FILE ?= LAST_UPLOADED_VERSION
|
||||
UPLOAD_LAST_VERSION ?= $(shell $(CAT) $(UPLOAD_LAST_VERSION_FILE) 2>/dev/null)
|
||||
|
||||
all:
|
||||
upload: upload.dist
|
||||
|
||||
upload.dist: $(UPLOAD_FILES)
|
||||
ifneq ($(UPLOAD_LAST_VERSION),$(VERSION))
|
||||
make $(REMOTE_TARGETS)
|
||||
ifeq ($(UPLOAD_TEST_PREFIX),)
|
||||
echo $(VERSION) > $(UPLOAD_LAST_VERSION_FILE)
|
||||
$(UPLOAD_SCM) add $(UPLOAD_LAST_VERSION_FILE) || exit 0
|
||||
$(UPLOAD_SCM) commit -m "$(VERSION)" $(UPLOAD_LAST_VERSION_FILE)
|
||||
endif
|
||||
endif
|
||||
touch $@.done
|
||||
|
||||
is-uploaded:
|
||||
ifneq ($(UPLOAD_LAST_VERSION),$(VERSION))
|
||||
echo $(VERSION) > $(UPLOAD_LAST_VERSION_FILE)
|
||||
$(UPLOAD_SCM) add $(UPLOAD_LAST_VERSION_FILE)
|
||||
$(UPLOAD_SCM) commit -m "`cat $(UPLOAD_LAST_VERSION_FILE)`" $(UPLOAD_LAST_VERSION_FILE)
|
||||
endif
|
||||
touch upload.dist.done
|
||||
|
||||
clean: upload.clean
|
||||
|
||||
upload.clean:
|
||||
$(RM) -f upload.dist
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
INSTALL_VIM_SYSTEM_PATH = $(ENV_PREFIX)/usr/share/vim/site
|
||||
INSTALL_VIM_SYSTEM_PLUGIN_PATH = $(INSTALL_VIM_SYSTEM_PATH)/plugin
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue