2001-07-06 13:12:14 +00:00
|
|
|
# generic utility modules
|
|
|
|
|
# (c) 2001 jannet it services
|
|
|
|
|
# contact@jannet.de
|
|
|
|
|
# $Id$
|
|
|
|
|
|
2002-04-01 17:16:36 +00:00
|
|
|
GENERATE_FUNC_TIMERS = $(MODDIR)/YStopWatchThreadList/generate_func_timers.sh
|
|
|
|
|
|
|
|
|
|
all: $(LOCAL_TARGETS) $(ALL)
|
2002-01-17 21:58:12 +00:00
|
|
|
|
2002-01-29 22:31:09 +00:00
|
|
|
echo_all:
|
|
|
|
|
@echo "$(ALL)"
|
|
|
|
|
|
2002-01-17 21:58:12 +00:00
|
|
|
all.done: $(PREREQ_DONE) all
|
2001-07-06 13:12:14 +00:00
|
|
|
touch $@
|
|
|
|
|
|
2002-01-31 23:05:45 +00:00
|
|
|
%.done:
|
2001-07-06 13:12:14 +00:00
|
|
|
make -C $(shell dirname $@) `basename $@`
|
|
|
|
|
|
|
|
|
|
$(LIBDIR):
|
|
|
|
|
mkdir -p $@
|
|
|
|
|
|
|
|
|
|
#lib$(MOD)(%.o).a: %.c $(LIBDIR)
|
|
|
|
|
# $(CC) $(CFLAGS) -c $< -o $*.o
|
|
|
|
|
# $(AR) r $@ $*.o
|
|
|
|
|
# $(RM) $*.o
|
|
|
|
|
|
2002-02-16 14:50:37 +00:00
|
|
|
moc_%.cpp: %.h
|
|
|
|
|
$(MOC) -o $@ $<
|
|
|
|
|
|
2002-07-03 20:33:20 +00:00
|
|
|
ifeq ($(LIBTYPE),shared)
|
|
|
|
|
lib%.so: %.o $(LIB_SO)
|
|
|
|
|
else
|
2002-05-23 09:58:44 +00:00
|
|
|
lib%.so: %.o
|
2002-07-03 20:33:20 +00:00
|
|
|
endif
|
2001-07-06 13:12:14 +00:00
|
|
|
$(CC) $< $(LDFLAGS) -o $@
|
|
|
|
|
|
2002-05-23 09:58:44 +00:00
|
|
|
$(LIB_SO): $(LIB_A)
|
2002-07-10 12:24:05 +00:00
|
|
|
$(CC) -shared -Wl,--whole-archive,-soname=$(notdir $@) $< -Wl,--no-whole-archive $(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@
|
2002-05-23 09:58:44 +00:00
|
|
|
|
2001-07-06 13:12:14 +00:00
|
|
|
$(TOPDIR)/include:
|
|
|
|
|
mkdir -p $@
|
|
|
|
|
|
2002-07-01 18:26:01 +00:00
|
|
|
$(TOPDIR)/include/%.h: %.h
|
|
|
|
|
mkdir -p $(dir $@); cp $(@F) $@
|
2001-07-06 13:12:14 +00:00
|
|
|
|
2002-07-02 16:04:41 +00:00
|
|
|
$(TOPDIR)/bin/%.sh: %.sh
|
2002-07-03 20:33:20 +00:00
|
|
|
mkdir -p $(dir $@); install -m 755 $(@F) $@
|
2002-07-02 16:04:41 +00:00
|
|
|
|
2001-07-16 20:58:56 +00:00
|
|
|
%.o: %.cpp
|
2001-07-06 13:12:14 +00:00
|
|
|
$(CPP) $(CPPFLAGS) -c $<
|
|
|
|
|
|
2001-07-16 20:58:56 +00:00
|
|
|
%.o: %.c
|
|
|
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
|
|
2002-04-01 17:16:36 +00:00
|
|
|
timers_%.h: %.h $(GENERATE_FUNC_TIMERS)
|
|
|
|
|
sh $(GENERATE_FUNC_TIMERS) $< $@
|
|
|
|
|
|
2002-02-16 14:50:37 +00:00
|
|
|
ifeq ($(USE_PROJECT_LIB),true)
|
2002-05-23 09:58:44 +00:00
|
|
|
ifeq ($(LIBTYPE),shared)
|
2002-07-10 12:24:05 +00:00
|
|
|
$(EXE) $(EXE_BIN): $(OBJ) $(LIB_SO)
|
2002-05-23 09:58:44 +00:00
|
|
|
else
|
2002-07-10 12:24:05 +00:00
|
|
|
$(EXE) $(EXE_BIN): $(OBJ) $(LIB_A)
|
2002-05-23 09:58:44 +00:00
|
|
|
endif
|
2002-02-16 14:50:37 +00:00
|
|
|
else
|
2002-07-10 12:24:05 +00:00
|
|
|
$(EXE) $(EXE_BIN): $(OBJ)
|
2002-02-16 14:50:37 +00:00
|
|
|
endif
|
2001-07-06 13:12:14 +00:00
|
|
|
$(CC) $(OBJ) $(LDFLAGS) -o $@
|
2002-07-10 12:24:05 +00:00
|
|
|
mkdir -p $(BUILD_BINDIR)
|
|
|
|
|
install -m 755 $@ $(BUILD_BINDIR)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
|
|
|
|
$(LIBS):
|
|
|
|
|
make -C $(LIBDIR) all
|
|
|
|
|
|
2002-07-02 10:12:06 +00:00
|
|
|
$(INSTALL_HDRDIR) $(INSTALL_BINDIR) $(INSTALL_LIBDIR) $(INSTALL_MKDIR):
|
2002-07-10 12:24:05 +00:00
|
|
|
$(INSTALL) -d -g $(MAKEGROUP) -o $(MAKEOWNER) -m 755 $@
|
2002-06-08 09:26:58 +00:00
|
|
|
|
2002-07-02 12:49:50 +00:00
|
|
|
$(INSTALLED_LIB_SO) $(INSTALLED_LIB_A): libdir.done
|
2001-07-27 22:02:40 +00:00
|
|
|
|
2002-07-10 12:24:05 +00:00
|
|
|
libdir.done: $(INSTALL_LIBDIR)
|
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
|
|
hdrdir.done: $(INSTALL_HDRDIR)
|
2002-07-02 12:49:50 +00:00
|
|
|
touch $@
|
|
|
|
|
|
|
|
|
|
$(LINKS_SO):
|
|
|
|
|
cd $(dir $@); ln -sf $(shell echo $@ | sed -e 's/\.so$$\|\.so.*$$//').$(SO_SUFFIX) $(notdir $@)
|
|
|
|
|
|
|
|
|
|
#$(INSTALLED_LINKS_SO) $(LINKS_SO):
|
|
|
|
|
# $(LINK_LIB) $(shell echo $@ | sed -e 's/\.so$$\|\.so.*$$//').$(SO_SUFFIX) $@
|
2002-06-10 14:28:18 +00:00
|
|
|
|
2002-06-08 09:26:58 +00:00
|
|
|
#$(INSTALL_BINDIR)/%.bin: %.bin
|
|
|
|
|
# $(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
2002-01-31 23:05:45 +00:00
|
|
|
|
2002-06-08 09:26:58 +00:00
|
|
|
ifneq ($(EXE),)
|
|
|
|
|
$(INSTALLED_EXE): $(EXE)
|
2004-01-13 01:59:15 +00:00
|
|
|
mkdir -p $(INSTALL_BINDIR)
|
2002-06-08 09:26:58 +00:00
|
|
|
$(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
|
|
|
|
endif
|
|
|
|
|
$(INSTALL_BINDIR)/%.sh: %.sh
|
2002-07-01 18:26:01 +00:00
|
|
|
$(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
2002-07-10 12:24:05 +00:00
|
|
|
$(INSTALL_BINDIR)/%.bin: %.bin
|
|
|
|
|
$(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
2002-07-22 14:18:00 +00:00
|
|
|
$(INSTALL_BINDIR)/%: %
|
|
|
|
|
$(INSTALL) -o $(EXEOWNER) -g $(EXEGROUP) -m $(EXEMODE) $< $@
|
2002-05-23 15:56:17 +00:00
|
|
|
|
2002-06-08 09:26:58 +00:00
|
|
|
$(INSTALL_LIBDIR)/%.so: %.so
|
2002-07-01 18:26:01 +00:00
|
|
|
$(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
|
2002-06-08 09:26:58 +00:00
|
|
|
$(INSTALL_LIBDIR)/%.$(SO_SUFFIX): %.$(SO_SUFFIX)
|
2002-07-01 18:26:01 +00:00
|
|
|
$(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
|
2002-07-02 12:49:50 +00:00
|
|
|
$(INSTALL_LIBDIR)/%.a: %.a
|
|
|
|
|
$(INSTALL) -o $(LIBOWNER) -g $(LIBGROUP) -m $(LIBMODE) $< $@
|
2002-06-08 09:26:58 +00:00
|
|
|
|
|
|
|
|
$(INSTALL_HDRDIR)/%.h: %.h
|
2002-07-01 18:26:01 +00:00
|
|
|
$(INSTALL) -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
|
2002-06-08 09:26:58 +00:00
|
|
|
|
2002-07-02 10:12:06 +00:00
|
|
|
$(INSTALL_MKDIR)/%.mk: %.mk
|
|
|
|
|
$(INSTALL) -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
|
|
|
|
|
|
2002-06-10 14:28:18 +00:00
|
|
|
$(INSTALL_DOCDIR_DIST)/% $(INSTALL_DOCDIR_DEVEL)/%: %
|
|
|
|
|
mkdir -p $(dir $@)
|
2002-07-01 18:26:01 +00:00
|
|
|
$(INSTALL) -o $(HDROWNER) -g $(HDRGROUP) -m $(HDRMODE) $< $@
|
2002-06-10 14:28:18 +00:00
|
|
|
|
2002-07-10 12:24:05 +00:00
|
|
|
$(INSTALLED_PROFILE_PATH_SCRIPT):
|
2002-07-19 13:00:17 +00:00
|
|
|
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
|
2002-07-10 12:24:05 +00:00
|
|
|
mkdir -p $(dir $@)
|
|
|
|
|
$(INSTALL) -o $(MAKEOWNER) -g $(MAKEGROUP) -m $(MAKEMODE) path_script.sh $@
|
|
|
|
|
|
2002-07-10 16:15:46 +00:00
|
|
|
$(INSTALLED_VERSION_FILE):
|
|
|
|
|
$(INSTALL) -o $(MAKEOWNER) -g $(MAKEGROUP) -m $(MAKEMODE) $(TOPDIR)/VERSION $@
|
|
|
|
|
echo $(DIST_VERSION) > $@
|
|
|
|
|
|
2002-07-10 12:24:05 +00:00
|
|
|
ifeq ($(DEVELOPMENT),true)
|
|
|
|
|
install_profile_path:
|
|
|
|
|
else
|
|
|
|
|
install_profile_path: $(INSTALLED_PROFILE_PATH_SCRIPT)
|
|
|
|
|
endif
|
|
|
|
|
|
2001-07-06 13:12:14 +00:00
|
|
|
checkroot:
|
2001-07-27 22:02:40 +00:00
|
|
|
@if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \
|
|
|
|
|
echo "Error: You can only do this if either" ;\
|
|
|
|
|
echo " a) you are user \"root\"" ;\
|
|
|
|
|
echo " b) the Makefile variable CHECK_ROOT does not contain \"true\" as value." ;\
|
|
|
|
|
fi
|
2001-07-06 13:12:14 +00:00
|
|
|
|
2002-06-08 09:26:58 +00:00
|
|
|
installexe: all checkroot $(INSTALLED_EXE)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
2002-06-08 09:26:58 +00:00
|
|
|
installso: all checkroot $(INSTALL_LIBDIR) $(INSTALLED_SHOBJS)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
2002-06-08 09:26:58 +00:00
|
|
|
installsh: all checkroot $(INSTALL_BINDIR) $(INSTALLED_EXE_SH)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
2001-07-18 14:05:11 +00:00
|
|
|
pckgclean:
|
|
|
|
|
rm -rf *.zip *.tar.gz *.rpm *.deb
|
|
|
|
|
|
2001-07-06 13:12:14 +00:00
|
|
|
tmpclean:
|
2001-07-15 06:26:44 +00:00
|
|
|
rm -rf *.tmp *.rep
|
2001-07-06 13:12:14 +00:00
|
|
|
|
|
|
|
|
objclean:
|
2002-07-29 14:11:45 +00:00
|
|
|
rm -rf core core.* .*.o *.o *.a *.so *.so.* $(MOC_CPP)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
|
|
|
|
textclean: doneclean
|
2001-12-08 15:27:07 +00:00
|
|
|
rm -rf $(TEXTCLEAN) \#*\# .kdbgrc.* .\#*
|
2001-07-06 13:12:14 +00:00
|
|
|
|
|
|
|
|
allclean:
|
2002-04-02 13:06:01 +00:00
|
|
|
rm -rf $(ALL) $(LOCAL_TARGETS)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
|
|
|
|
doneclean:
|
2001-08-01 11:09:10 +00:00
|
|
|
rm -rf *.done $(PREREQ_DONE)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
|
|
|
|
execlean: allclean objclean textclean
|
2002-07-29 14:11:45 +00:00
|
|
|
rm -rf $(EXE)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
2002-04-01 17:16:36 +00:00
|
|
|
distclean: clean objclean textclean tmpclean vcdistclean profclean timerclean
|
2002-07-25 10:39:55 +00:00
|
|
|
rm -rf $(CLEAN) $(DISTCLEAN) $(AC_FILES)
|
2001-07-06 13:12:14 +00:00
|
|
|
|
2001-07-18 14:05:11 +00:00
|
|
|
localclean: $(LOCAL_CLEAN)
|
2001-07-06 13:12:14 +00:00
|
|
|
rm -rf $(CLEAN)
|
|
|
|
|
|
|
|
|
|
libclean:
|
2002-05-23 09:58:44 +00:00
|
|
|
rm -rf $(LIB_A) $(LIB_SO)
|
2001-07-15 06:26:44 +00:00
|
|
|
|
|
|
|
|
vcdistclean:
|
2001-07-18 14:05:11 +00:00
|
|
|
rm -rf *.plg *.opt *.ncb Debug *.exe dist *.ilk
|
2001-09-11 16:24:32 +00:00
|
|
|
|
|
|
|
|
prereqclean:
|
|
|
|
|
for dir in $(PREREQ_DIR); do make -C $$dir clean; done
|
2002-03-30 18:53:58 +00:00
|
|
|
|
|
|
|
|
profclean:
|
|
|
|
|
rm -f *.da *.bb *.bbg *.gcov
|
|
|
|
|
|
2002-04-01 17:16:36 +00:00
|
|
|
timerclean:
|
2002-04-02 13:06:01 +00:00
|
|
|
rm -f timers_*.h
|
2002-06-08 09:26:58 +00:00
|
|
|
|
|
|
|
|
install_libdir: $(INSTALL_LIBDIR)
|
|
|
|
|
install_bindir: $(INSTALL_BINDIR)
|
|
|
|
|
install_hdrdir: $(INSTALL_HDRDIR)
|
|
|
|
|
|
2004-01-23 20:51:03 +00:00
|
|
|
love:
|
|
|
|
|
@echo "Not war?"
|