jw-pkg/make/defs-orig.mk
2001-08-06 13:54:05 +00:00

80 lines
3 KiB
Makefile

# generic utility modules
# (c) 2001 jannet it services
# contact@jannet.de
# $Id$
# doesn't work :-(
#ifndef $(PROJECT)
# PROJECT := yannet
#endif
VERSION = $(shell cat $(TOPDIR)/VERSION)
WINVERSION = $(shell cat $(TOPDIR)/VERSION | sed -e "s/\./_/g")
LOCAL_VERSION = $(shell cat VERSION)
LOCAL_WINVERSION = $(shell cat VERSION | sed -e "s/\./_/g")
DIST_VERSION = $(shell echo $(VERSION) | sed -e "s/-dev//")
DIST_WINVERSION = $(shell echo $(WINVERSION) | sed -e "s/-dev//")
LOCAL_DIST_VERSION = $(shell echo $(LOCAL_VERSION) | sed -e "s/-dev//")
LOCAL_DIST_WINVERSION = $(shell echo $(LOCAL_WINVERSION) | sed -e "s/-dev//")
#ifndef $(TOPDIR)
# TOPDIR := $(MODDIR)
#endif
LIBNAME = $(PROJECT)
CFILES = $(wildcard *.c)
CPPFILES = $(wildcard *.cc *.cpp)
CALLSRC = $(CFILES) $(CPPFILES)
OBJ = $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(CALLSRC))))
SHOBJS = $(patsubst %.cpp,%.o,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(CALLSRC))))
SHSCRIPTS = $(patsubst %.sh.tmpl,%.sh,$(wildcard *.sh.tmpl))
SCRIPTS = $(patsubst %.tmpl,%,$(wildcard *.tmpl))
INST_HDRS = $(patsubst %.h,$(TOPDIR)/include/%.h,$(wildcard *.h))
LOCAL_H = $(wildcard *.h)
LOCAL_C = $(wildcard *.c)
LOCAL_CPP = $(wildcard *.c *.cpp *.cc *.C)
LOCAL_CSRC = $(LOCAL_H) $(LOCAL_C) $(LOCAL_CPP)
PREREQ_DIR = $(patsubst %,$(MODDIR)/%,$(LOCAL_PREREQ))
PREREQ_DONE = $(patsubst %,%/all.done,$(PREREQ_DIR))
PREREQ_H = $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.h))
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)
ALL_H = $(LOCAL_H) $(PREREQ_H)
ALL_C = $(LOCAL_C) $(PREREQ_CPP)
ALL_CPP = $(LOCAL_CPP) $(PREREQ_CPP)
ALL_CSRC = $(LOCAL_CSRC) $(PREREQ_CSRC)
TEXTCLEAN = $(wildcard *~ .*~ .*.swp \#*\#)
INCLUDE = -I. -I$(TOPDIR)/include -I$(MODDIR)/include $(PROJECT_INCLUDE) $(LOCAL_INCLUDE)
LIBDIR = $(MODDIR)/lib
LIB = $(LIBDIR)/lib$(LIBNAME).a
MEMBERS = $(LIB)($(OBJ))
#PREFIX = ../# CAUTION: This breaks the installation in the project
#MEMWATCH = -DMEMWATCH -DMW_STDIO
#YAMD = yamd-
#EFENCE = -lefence
#CFLAGS = -DNDEBUG -O2 -g $(INCLUDE) $(LOCAL_CFLAGS) #production
CFLAGS = -Wall -D_DEBUG_ $(MEMWATCH) -g $(INCLUDE) $(LOCAL_CFLAGS)
CPPFLAGS = -Wall -D_DEBUG_ $(MEMWATCH) -g $(INCLUDE) $(LOCAL_CPPFLAGS)
LDFFTW = -lrfftw -lfftw -lm
#LDAUDIO = -laudiofile
LDFLAGS = -L$(LIBDIR) $(EFENCE) -l$(LIBNAME) -lg++ $(PROJECT_LDFLAGS) $(LOCAL_LDFLAGS)
LDREST = -ldl $(LDAUDIO) $(LDFFTW)
CC = $(YAMD)gcc
CPP = $(YAMD)g++
RM = rm
AR = ar
INSTALL = install
define make_subdirs
set -e; for D in $(SUBDIRS) ; do make -C $$D ; done
endef
define make_subdirs_target
set -e; for D in $(SUBDIRS) ; do make -C $$D $@; done
endef