make: Cleanup commit

This commit is contained in:
Jan Lindemann 2002-07-10 12:24:05 +00:00 committed by Jan Lindemann
commit ba0c77c3ac
5 changed files with 63 additions and 23 deletions

View file

@ -5,7 +5,9 @@
ifndef PROJECT ifndef PROJECT
PROJECT := ytools PROJECT := ytools
REQUIRED = make \ endif
REQUIRED = inst/pre \
make \
doc \ doc \
debug misc slog platform \ debug misc slog platform \
devutil \ devutil \
@ -19,8 +21,8 @@ ifndef PROJECT
YMisc YError \ YMisc YError \
YThread YMutex YEvent YCbContr contr/Y2WayMap \ YThread YMutex YEvent YCbContr contr/Y2WayMap \
YTimeB YStopWatch YStopWatchList YStopWatchQueue YStopWatchThreadList \ YTimeB YStopWatch YStopWatchList YStopWatchQueue YStopWatchThreadList \
lib include bin lib include bin \
endif inst/post
LIBNAME := $(PROJECT) LIBNAME := $(PROJECT)
@ -108,6 +110,7 @@ INSTALL_LIBDIR = $(PREFIX)/lib
INSTALL_HDRDIR = $(PREFIX)/include INSTALL_HDRDIR = $(PREFIX)/include
INSTALL_MKDIR = $(PREFIX)/make INSTALL_MKDIR = $(PREFIX)/make
INSTALL_BINDIR = $(PREFIX)/bin INSTALL_BINDIR = $(PREFIX)/bin
BUILD_BINDIR = $(TOPDIR)/bin
INSTALL_DOCDIR_DIST = $(DOC_PREFIX) INSTALL_DOCDIR_DIST = $(DOC_PREFIX)
INSTALL_DOCDIR_DEVEL = $(DOC_PREFIX)-devel INSTALL_DOCDIR_DEVEL = $(DOC_PREFIX)-devel
DOCS = $(wildcard README CHANGES TODO LICENSE AUTHORS CREDITS *.pdf *.txt *.html) DOCS = $(wildcard README CHANGES TODO LICENSE AUTHORS CREDITS *.pdf *.txt *.html)
@ -126,7 +129,11 @@ INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
INSTALLED_EXE = $(INSTALL_BINDIR)/$(EXE) INSTALLED_EXE = $(INSTALL_BINDIR)/$(EXE)
INSTALLED_EXE_SH = $(addprefix $(INSTALL_BINDIR)/,$(EXE_SH)) INSTALLED_EXE_SH = $(addprefix $(INSTALL_BINDIR)/,$(EXE_SH))
INSTALLED_EXE_BIN = $(addprefix $(INSTALL_BINDIR)/,$(EXE_BIN))
INSTALLED_MKFILES = $(addprefix $(INSTALL_MKDIR)/,$(MKFILES)) INSTALLED_MKFILES = $(addprefix $(INSTALL_MKDIR)/,$(MKFILES))
INSTALLED_H = $(addprefix $(INSTALL_HDRDIR)/,$(LOCAL_H))
INSTALLED_PROFILE_PATH_SCRIPT = $(ENV_PREFIX)/etc/profile.d/path_$(PROJECT).sh
MEMBERS = $(LIB_A)($(OBJ)) MEMBERS = $(LIB_A)($(OBJ))
#PREFIX = ../# CAUTION: This breaks the installation in the project #PREFIX = ../# CAUTION: This breaks the installation in the project
@ -171,6 +178,10 @@ else
LPPFLAGS += -lstdc++ -L/usr/local/lib LPPFLAGS += -lstdc++ -L/usr/local/lib
endif endif
ifeq ($(LIBTYPE),shared)
LDFLAGS += -rdynamic
endif
ifeq ($(USE_PROJECT_LIB),true) ifeq ($(USE_PROJECT_LIB),true)
PROJECTLIB_LDFLAGS = -l$(LIBNAME) PROJECTLIB_LDFLAGS = -l$(LIBNAME)
endif endif
@ -194,7 +205,7 @@ RM = rm
AR = ar AR = ar
ifneq ($(wildcard $(MODDIR)/devutil/scripts),) ifneq ($(wildcard $(MODDIR)/devutil/scripts),)
MOD_SCRIPT_DIR = $(MODDIR)/bin MOD_SCRIPT_DIR = $(MODDIR)/devutil/scripts
else else
MOD_SCRIPT_DIR = $(MODDIR)/bin MOD_SCRIPT_DIR = $(MODDIR)/bin
endif endif

View file

@ -3,8 +3,8 @@
# contact@jannet.de # contact@jannet.de
# $Id$ # $Id$
EXE = $(ALL)
include $(MODDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
include $(MODDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean: execlean localclean clean: execlean localclean
install: $(ALL) $(INSTALLED_EXE) all: $(EXE) $(EXE_BIN)
install: $(INSTALLED_EXE) $(INSTALLED_EXE_BIN)

View file

@ -5,5 +5,9 @@
include $(MODDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
include $(MODDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean: objclean localclean doneclean
install: $(LOCAL_TARGETS) $(ALL) all: $(LIB_SO) $(LINKS_SO)
clean:
rm -rf *.a *.o *.so.* *.so *~ .*.swp
distclean: clean
install: $(LOCAL_TARGETS) $(ALL) $(INSTALLED_LIB_A) $(INSTALLED_LIB_SO) $(INSTALLED_LINKS_SO)

View file

@ -1,15 +1,21 @@
UPLOAD_SH = $(MODDIR)/devutil/scripts/upload.sh UPLOAD_SH = $(MODDIR)/devutil/scripts/upload.sh
ifeq ($(RPM_PROJECT),)
RPM_PROJECT = $(PROJECT)
endif
RPM_VERSION := $(shell cat VERSION | sed -e s'/-dev//')
CLEAN += $(wildcard *.spec *.rpm *~ *.rpmrc *.dist .*.swp) CLEAN += $(wildcard *.spec *.rpm *~ *.rpmrc *.dist .*.swp)
DIST_SRC_DIR = dist/src/$(PROJECT)-$(DIST_VERSION) DIST_SRC_DIR = dist/src/$(RPM_PROJECT)-$(RPM_VERSION)
DIST_PCKG_DIR = dist/pckg DIST_PCKG_DIR = dist/pckg
PCKG_TAR = $(PROJECT)-$(DIST_VERSION).tar.gz PCKG_TAR = $(RPM_PROJECT)-$(RPM_VERSION).tar.gz
PCKG_RPM_RUN_I386 = $(PROJECT)-run-$(DIST_VERSION).i386.rpm PCKG_RPM_RUN_I386 = $(RPM_PROJECT)-run-$(RPM_VERSION).i386.rpm
PCKG_RPM_DEVEL_I386 = $(PROJECT)-devel-$(DIST_VERSION).i386.rpm PCKG_RPM_DEVEL_I386 = $(RPM_PROJECT)-devel-$(RPM_VERSION).i386.rpm
PCKG_RPM_SRC = $(PROJECT)-$(DIST_VERSION).src.rpm PCKG_RPM_SRC = $(RPM_PROJECT)-$(RPM_VERSION).src.rpm
PCKG_ROOT = $(FTP_PCKG_DIR)/$(PROJECT) PCKG_ROOT = $(FTP_PCKG_DIR)/$(RPM_PROJECT)
CURRENT_SRC = $(PCKG_ROOT)/src/$(PCKG_TAR) CURRENT_SRC = $(PCKG_ROOT)/src/$(PCKG_TAR)
CURRENT_RPM_RUN_I386 = $(PCKG_ROOT)/rpm/run/$(PCKG_RPM_RUN_I386) CURRENT_RPM_RUN_I386 = $(PCKG_ROOT)/rpm/run/$(PCKG_RPM_RUN_I386)
CURRENT_RPM_DEVEL_I386 = $(PCKG_ROOT)/rpm/devel/$(PCKG_RPM_DEVEL_I386) CURRENT_RPM_DEVEL_I386 = $(PCKG_ROOT)/rpm/devel/$(PCKG_RPM_DEVEL_I386)
@ -60,8 +66,8 @@ cpmod.dist:
cpfiles.dist: cpfiles.dist:
mkdir -p $(DIST_SRC_DIR) mkdir -p $(DIST_SRC_DIR)
cp Makefile $(DIST_SRC_DIR) cp Makefile $(DIST_SRC_DIR)
sh $(MKSPEC_SH) -V $(DIST_VERSION) -S $(notdir $(PCKG_TAR)) -N $(PROJECT) > $(DIST_SRC_DIR)/$(PROJECT)-$(DIST_VERSION).spec sh $(MKSPEC_SH) -V $(RPM_VERSION) -S $(notdir $(PCKG_TAR)) -N $(RPM_PROJECT) > $(DIST_SRC_DIR)/$(RPM_PROJECT)-$(RPM_VERSION).spec
echo $(DIST_VERSION) > $(DIST_SRC_DIR)/VERSION echo $(RPM_VERSION) > $(DIST_SRC_DIR)/VERSION
touch $@ touch $@
%.tar.gz: cpfiles.dist cpmod.dist %.tar.gz: cpfiles.dist cpmod.dist

View file

@ -35,7 +35,7 @@ endif
$(CC) $< $(LDFLAGS) -o $@ $(CC) $< $(LDFLAGS) -o $@
$(LIB_SO): $(LIB_A) $(LIB_SO): $(LIB_A)
$(CC) -shared -Wl,--whole-archive $< -Wl,--no-whole-archive $(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@ $(CC) -shared -Wl,--whole-archive,-soname=$(notdir $@) $< -Wl,--no-whole-archive $(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@
$(TOPDIR)/include: $(TOPDIR)/include:
mkdir -p $@ mkdir -p $@
@ -57,25 +57,29 @@ timers_%.h: %.h $(GENERATE_FUNC_TIMERS)
ifeq ($(USE_PROJECT_LIB),true) ifeq ($(USE_PROJECT_LIB),true)
ifeq ($(LIBTYPE),shared) ifeq ($(LIBTYPE),shared)
$(EXE): $(OBJ) $(LIB_SO) $(EXE) $(EXE_BIN): $(OBJ) $(LIB_SO)
else else
$(EXE): $(OBJ) $(LIB_A) $(EXE) $(EXE_BIN): $(OBJ) $(LIB_A)
endif endif
else else
$(EXE): $(OBJ) $(EXE) $(EXE_BIN): $(OBJ)
endif endif
$(CC) $(OBJ) $(LDFLAGS) -o $@ $(CC) $(OBJ) $(LDFLAGS) -o $@
mkdir -p $(BUILD_BINDIR)
install -m 755 $@ $(BUILD_BINDIR)
$(LIBS): $(LIBS):
make -C $(LIBDIR) all make -C $(LIBDIR) all
$(INSTALL_HDRDIR) $(INSTALL_BINDIR) $(INSTALL_LIBDIR) $(INSTALL_MKDIR): $(INSTALL_HDRDIR) $(INSTALL_BINDIR) $(INSTALL_LIBDIR) $(INSTALL_MKDIR):
$(INSTALL) -d -g $(EXEGROUP) -o $(EXEOWNER) -m $(EXEMODE) $@ $(INSTALL) -d -g $(MAKEGROUP) -o $(MAKEOWNER) -m 755 $@
$(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): libdir.done $(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): libdir.done
libdir.done: libdir.done: $(INSTALL_LIBDIR)
mkdir -p $(INSTALL_LIBDIR) touch $@
hdrdir.done: $(INSTALL_HDRDIR)
touch $@ touch $@
$(LINKS_SO): $(LINKS_SO):
@ -93,6 +97,8 @@ $(INSTALLED_EXE): $(EXE)
endif endif
$(INSTALL_BINDIR)/%.sh: %.sh $(INSTALL_BINDIR)/%.sh: %.sh
$(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@ $(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
$(INSTALL_BINDIR)/%.bin: %.bin
$(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
$(INSTALL_LIBDIR)/%.so: %.so $(INSTALL_LIBDIR)/%.so: %.so
$(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@ $(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
@ -111,6 +117,18 @@ $(INSTALL_DOCDIR_DIST)/% $(INSTALL_DOCDIR_DEVEL)/%: %
mkdir -p $(dir $@) mkdir -p $(dir $@)
$(INSTALL) -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@ $(INSTALL) -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
$(INSTALLED_PROFILE_PATH_SCRIPT):
echo "if [ -z $$PATH ]; then PATH=$(shell echo $(INSTALL_BINDIR) | sed -e s%$(ENV_PREFIX)%%)" > path_script.sh
echo "else PATH=$$PATH:$(shell echo $(INSTALL_BINDIR) | sed -e s%$(ENV_PREFIX)%%); fi" >> path_script.sh
mkdir -p $(dir $@)
$(INSTALL) -o $(MAKEOWNER) -g $(MAKEGROUP) -m $(MAKEMODE) path_script.sh $@
ifeq ($(DEVELOPMENT),true)
install_profile_path:
else
install_profile_path: $(INSTALLED_PROFILE_PATH_SCRIPT)
endif
checkroot: checkroot:
@if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \ @if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \
echo "Error: You can only do this if either" ;\ echo "Error: You can only do this if either" ;\
@ -145,6 +163,7 @@ doneclean:
execlean: allclean objclean textclean execlean: allclean objclean textclean
distclean: clean objclean textclean tmpclean vcdistclean profclean timerclean distclean: clean objclean textclean tmpclean vcdistclean profclean timerclean
rm -rf $(DISTCLEAN)
localclean: $(LOCAL_CLEAN) localclean: $(LOCAL_CLEAN)
rm -rf $(CLEAN) rm -rf $(CLEAN)