make: Introduced plasticd project compatibility

This commit is contained in:
Jan Lindemann 2001-07-27 22:02:40 +00:00 committed by Jan Lindemann
commit 61fe4a73d5
9 changed files with 45 additions and 31 deletions

View file

@ -3,6 +3,11 @@
# contact@jannet.de # contact@jannet.de
# $Id$ # $Id$
# doesn't work :-(
#ifndef $(PROJECT)
# PROJECT := yannet
#endif
VERSION = $(shell cat $(TOPDIR)/VERSION) VERSION = $(shell cat $(TOPDIR)/VERSION)
WINVERSION = $(shell cat $(TOPDIR)/VERSION | sed -e "s/\./_/g") WINVERSION = $(shell cat $(TOPDIR)/VERSION | sed -e "s/\./_/g")
LOCAL_VERSION = $(shell cat VERSION) LOCAL_VERSION = $(shell cat VERSION)
@ -12,14 +17,16 @@ DIST_WINVERSION = $(shell echo $(WINVERSION) | sed -e "s/-dev//")
LOCAL_DIST_VERSION = $(shell echo $(LOCAL_VERSION) | 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//") LOCAL_DIST_WINVERSION = $(shell echo $(LOCAL_WINVERSION) | sed -e "s/-dev//")
PROJECT = mod #ifndef $(TOPDIR)
MOD = mod # TOPDIR := $(MODDIR)
LIBNAME = $(MOD) #endif
LIBNAME = $(PROJECT)
CFILES = $(wildcard *.c) CFILES = $(wildcard *.c)
CPPFILES = $(wildcard *.cc *.cpp) CPPFILES = $(wildcard *.cc *.cpp)
CALLSRC = $(CFILES) $(CPPFILES) CALLSRC = $(CFILES) $(CPPFILES)
OBJ = $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(CALLSRC)))) OBJ = $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(CALLSRC))))
SHOBJS = $(patsubst %.cpp,%.o,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(CALLSRC))) SHOBJS = $(patsubst %.cpp,%.o,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(CALLSRC))))
SHSCRIPTS = $(patsubst %.sh.tmpl,%.sh,$(wildcard *.sh.tmpl)) SHSCRIPTS = $(patsubst %.sh.tmpl,%.sh,$(wildcard *.sh.tmpl))
SCRIPTS = $(patsubst %.tmpl,%,$(wildcard *.tmpl)) SCRIPTS = $(patsubst %.tmpl,%,$(wildcard *.tmpl))
INST_HDRS = $(patsubst %.h,$(TOPDIR)/include/%.h,$(wildcard *.h)) INST_HDRS = $(patsubst %.h,$(TOPDIR)/include/%.h,$(wildcard *.h))
@ -44,11 +51,11 @@ ALL_CPP = $(LOCAL_CPP) $(PREREQ_CPP)
ALL_CSRC = $(LOCAL_CSRC) $(PREREQ_CSRC) ALL_CSRC = $(LOCAL_CSRC) $(PREREQ_CSRC)
TEXTCLEAN = $(wildcard *~ .*~ .*.swp \#*\#) TEXTCLEAN = $(wildcard *~ .*~ .*.swp \#*\#)
INCLUDE = -I$(TOPDIR)/include INCLUDE = -I. -I$(TOPDIR)/include -I$(MODDIR)/include $(PROJECT_INCLUDE)
LIBDIR = $(TOPDIR)/lib LIBDIR = $(MODDIR)/lib
LIB = $(LIBDIR)/lib$(LIBNAME).a LIB = $(LIBDIR)/lib$(LIBNAME).a
MEMBERS = $(LIB)($(OBJ)) MEMBERS = $(LIB)($(OBJ))
PREFIX = ../ #PREFIX = ../# CAUTION: This breaks the installation in the project
#MEMWATCH = -DMEMWATCH -DMW_STDIO #MEMWATCH = -DMEMWATCH -DMW_STDIO
#YAMD = yamd- #YAMD = yamd-
EFENCE = -lefence EFENCE = -lefence
@ -57,8 +64,8 @@ CFLAGS = -Wall -D_DEBUG_ $(MEMWATCH) -g $(INCLUDE) $(LOCAL_CFLAGS)
CPPFLAGS = -Wall -D_DEBUG_ $(MEMWATCH) -g $(INCLUDE) $(LOCAL_CPPFLAGS) CPPFLAGS = -Wall -D_DEBUG_ $(MEMWATCH) -g $(INCLUDE) $(LOCAL_CPPFLAGS)
LDFFTW = -lrfftw -lfftw -lm LDFFTW = -lrfftw -lfftw -lm
#LDAUDIO = -laudiofile #LDAUDIO = -laudiofile
LDFLAGS = -L$(LIBDIR) $(EFENCE) -l$(LIBNAME) -lg++ LDFLAGS = -L$(LIBDIR) $(EFENCE) -l$(LIBNAME) -lg++ $(PROJECT_LDFLAGS) $(LOCAL_LDFLAGS)
LDREST = -ldl $(LDAUDIO) $(LDFFTW) $(LOCAL_LDFLAGS) LDREST = -ldl $(LDAUDIO) $(LDFFTW)
CC = $(YAMD)gcc CC = $(YAMD)gcc
CPP = $(YAMD)g++ CPP = $(YAMD)g++
RM = rm RM = rm

View file

@ -3,7 +3,7 @@
# contact@jannet.de # contact@jannet.de
# $Id$ # $Id$
include $(TOPDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
all: all:
$(make_subdirs) $(make_subdirs)

View file

@ -4,7 +4,7 @@
# $Id$ # $Id$
EXE = $(ALL) EXE = $(ALL)
include $(TOPDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
include $(TOPDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean: execlean localclean clean: execlean localclean
install: $(ALL) installexe install: $(ALL) installexe

View file

@ -3,7 +3,7 @@
# contact@jannet.de # contact@jannet.de
# $Id$ # $Id$
include $(TOPDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
include $(TOPDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean: objclean localclean clean: objclean localclean doneclean
install: $(ALL) install: $(ALL)

View file

@ -23,8 +23,8 @@ lib%.so: %.o
$(TOPDIR)/include: $(TOPDIR)/include:
mkdir -p $@ mkdir -p $@
$(TOPDIR)/include/%.h:%.h $(TOPDIR)/include $(TOPDIR)/include/%.h: $(TOPDIR)/include %.h
cp $< $@ cp $(@F) $@
%.o: %.cpp %.o: %.cpp
$(CPP) $(CPPFLAGS) -c $< $(CPP) $(CPPFLAGS) -c $<
@ -38,16 +38,23 @@ $(EXE): $(OBJ) $(LIB)
$(LIBS): $(LIBS):
make -C $(LIBDIR) all make -C $(LIBDIR) all
checkroot: $(PREFIX) $(PREFIX)/%:
test `whoami` = root mkdir -p $@
installexe: $(ALL) checkroot checkroot:
@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
installexe: $(ALL) checkroot $(PREFIX)/bin
$(INSTALL) $(EXE) $(PREFIX)/bin/ $(INSTALL) $(EXE) $(PREFIX)/bin/
installso: $(ALL) checkroot installso: $(ALL) checkroot $(PREFIX)/lib
$(INSTALL) $(SHOBJS) $(PREFIX)/lib/ $(INSTALL) $(SHOBJS) $(PREFIX)/lib/
installsh: $(ALL) installsh: $(ALL) checkroot $(PREFIX)/bin
$(INSTALL) $(SHSCRIPTS) $(PREFIX)/bin/ $(INSTALL) $(SHSCRIPTS) $(PREFIX)/bin/
pckgclean: pckgclean:

View file

@ -4,7 +4,7 @@
# $Id$ # $Id$
ALL = $(SCRIPTS) ALL = $(SCRIPTS)
include $(TOPDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
include $(TOPDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean:allclean localclean clean:allclean localclean doneclean
#install:installexe #install:installexe

View file

@ -3,9 +3,9 @@
# contact@jannet.de # contact@jannet.de
# $Id$ # $Id$
include $(TOPDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
ALL = $(SHOBJS) ALL = $(SHOBJS)
LDFLAGS := $(LDFLAGS) -shared LDFLAGS := $(LDFLAGS) -shared
include $(TOPDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean: objclean textclean localclean clean: objclean textclean localclean
install: $(ALL) installso install: $(ALL) installso

View file

@ -3,7 +3,7 @@
# contact@jannet.de # contact@jannet.de
# $Id$ # $Id$
include $(TOPDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
include $(TOPDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean: textclean localclean clean: textclean localclean
install: # nothing to be done install: # nothing to be done

View file

@ -3,8 +3,8 @@
# contact@jannet.de # contact@jannet.de
# $Id$ # $Id$
include $(TOPDIR)/make/defs.mk include $(MODDIR)/make/defs.mk
ALL = $(LIBDIR) $(PREREQ_DONE) $(INST_HDRS) $(MEMBERS) ALL = $(LIBDIR) $(PREREQ_DONE) $(INST_HDRS) $(MEMBERS)
include $(TOPDIR)/make/rules.mk include $(MODDIR)/make/rules.mk
clean: objclean textclean localclean clean: objclean textclean localclean
install: $(ALL) install: $(ALL)