mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
$(TOPDIR), make: Initial commit
After making most modules independent from the Hamlet tree, place Makefiles in a central location for more centralized control over the build process.
This commit is contained in:
commit
46c67d77fc
11 changed files with 206 additions and 0 deletions
4
Makefile
Normal file
4
Makefile
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
TOPDIR=.
|
||||||
|
CLEAN = include lib
|
||||||
|
SUBDIRS = $(shell find . -type d -maxdepth 1 | grep -ve "include\|CVS\|lib" | grep /)
|
||||||
|
include $(TOPDIR)/make/dirs.mk
|
||||||
8
make/Makefile
Normal file
8
make/Makefile
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
TOPDIR = ..
|
||||||
|
|
||||||
|
include $(TOPDIR)/make/text.mk
|
||||||
43
make/defs-orig.mk
Normal file
43
make/defs-orig.mk
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
VERSION = $(shell cat $(TOPDIR)/VERSION)
|
||||||
|
PROJECT = mod
|
||||||
|
MOD = mod
|
||||||
|
LIBNAME = $(MOD)
|
||||||
|
OBJ = $(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(wildcard *.c *.cc)))
|
||||||
|
SHOBJS = $(patsubst %.cc,lib%.so$(patsubst %.c,lib%.so,$(wildcard *.c *.cc)))
|
||||||
|
SHSCRIPTS = $(patsubst %.sh.tmpl,%.sh,$(wildcard *.sh.tmpl))
|
||||||
|
SCRIPTS = $(patsubst %.tmpl,%,$(wildcard *.tmpl))
|
||||||
|
INST_HDRS = $(patsubst %.h,$(TOPDIR)/include/%.h,$(wildcard *.h))
|
||||||
|
PREREQ_DONE = $(patsubst %,$(TOPDIR)/%/all.done,$(LOCAL_PREREQ))
|
||||||
|
TEXTCLEAN = $(wildcard *~ .*~ .*.swp \#*\#)
|
||||||
|
INCLUDE = -I$(TOPDIR)/include
|
||||||
|
LIBDIR = $(TOPDIR)/lib
|
||||||
|
LIB = $(LIBDIR)/lib$(LIBNAME).a
|
||||||
|
MEMBERS = $(LIB)($(OBJ))
|
||||||
|
PREFIX = ../
|
||||||
|
#MEMWATCH = -DMEMWATCH -DMW_STDIO
|
||||||
|
#YAMD = yamd-
|
||||||
|
|
||||||
|
#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) -l$(LIBNAME) -lg++
|
||||||
|
LDREST = -ldl $(LDAUDIO) $(LDFFTW) $(LOCAL_LDFLAGS)
|
||||||
|
CC = $(YAMD)gcc
|
||||||
|
CPP = c++
|
||||||
|
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
|
||||||
16
make/dirs.mk
Normal file
16
make/dirs.mk
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
include $(TOPDIR)/make/defs.mk
|
||||||
|
|
||||||
|
all:
|
||||||
|
$(make_subdirs)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(TEXTCLEAN) $(CLEAN)
|
||||||
|
$(make_subdirs_target)
|
||||||
|
|
||||||
|
.DEFAULT:
|
||||||
|
$(make_subdirs_target)
|
||||||
10
make/exe.mk
Normal file
10
make/exe.mk
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
EXE = $(ALL)
|
||||||
|
include $(TOPDIR)/make/defs.mk
|
||||||
|
include $(TOPDIR)/make/rules.mk
|
||||||
|
clean: execlean localclean
|
||||||
|
install: $(ALL) installexe
|
||||||
9
make/lib.mk
Normal file
9
make/lib.mk
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
include $(TOPDIR)/make/defs.mk
|
||||||
|
include $(TOPDIR)/make/rules.mk
|
||||||
|
clean: objclean localclean
|
||||||
|
install: $(ALL)
|
||||||
76
make/rules.mk
Normal file
76
make/rules.mk
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
all.done: $(ALL)
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
%.done:
|
||||||
|
make -C $(shell dirname $@) `basename $@`
|
||||||
|
|
||||||
|
$(LIBDIR):
|
||||||
|
mkdir -p $@
|
||||||
|
|
||||||
|
#lib$(MOD)(%.o).a: %.c $(LIBDIR)
|
||||||
|
# $(CC) $(CFLAGS) -c $< -o $*.o
|
||||||
|
# $(AR) r $@ $*.o
|
||||||
|
# $(RM) $*.o
|
||||||
|
|
||||||
|
lib%.so: %.o
|
||||||
|
$(CC) $< $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
$(TOPDIR)/include:
|
||||||
|
mkdir -p $@
|
||||||
|
|
||||||
|
$(TOPDIR)/include/%.h:%.h $(TOPDIR)/include
|
||||||
|
cp $< $@
|
||||||
|
|
||||||
|
%.o: %.c %.h
|
||||||
|
$(CC) $(CFLAGS) -c $<
|
||||||
|
|
||||||
|
%.o: %.cc %h
|
||||||
|
$(CPP) $(CPPFLAGS) -c $<
|
||||||
|
|
||||||
|
$(EXE): $(OBJ) $(LIB)
|
||||||
|
$(CC) $(OBJ) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
$(LIBS):
|
||||||
|
make -C $(LIBDIR) all
|
||||||
|
|
||||||
|
checkroot:
|
||||||
|
test `whoami` = root
|
||||||
|
|
||||||
|
installexe: $(ALL) checkroot
|
||||||
|
$(INSTALL) $(EXE) $(PREFIX)/bin/
|
||||||
|
|
||||||
|
installso: $(ALL) checkroot
|
||||||
|
$(INSTALL) $(SHOBJS) $(PREFIX)/lib/
|
||||||
|
|
||||||
|
installsh: $(ALL)
|
||||||
|
$(INSTALL) $(SHSCRIPTS) $(PREFIX)/bin/
|
||||||
|
|
||||||
|
tmpclean:
|
||||||
|
rm -rf *.tmp
|
||||||
|
|
||||||
|
objclean:
|
||||||
|
rm -rf core .*.o *.o *.a *.so
|
||||||
|
|
||||||
|
textclean: doneclean
|
||||||
|
rm -rf $(TEXTCLEAN)
|
||||||
|
|
||||||
|
allclean:
|
||||||
|
rm -rf $(ALL)
|
||||||
|
|
||||||
|
doneclean:
|
||||||
|
rm -rf *.done
|
||||||
|
|
||||||
|
execlean: allclean objclean textclean
|
||||||
|
|
||||||
|
distclean: clean objclean textclean tmpclean
|
||||||
|
|
||||||
|
localclean:
|
||||||
|
rm -rf $(CLEAN)
|
||||||
|
|
||||||
|
libclean:
|
||||||
|
rm -rf $(LIB)
|
||||||
10
make/scripts.mk
Normal file
10
make/scripts.mk
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
ALL = $(SCRIPTS)
|
||||||
|
include $(TOPDIR)/make/defs.mk
|
||||||
|
include $(TOPDIR)/make/rules.mk
|
||||||
|
clean:allclean localclean
|
||||||
|
#install:installexe
|
||||||
11
make/so.mk
Normal file
11
make/so.mk
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
include $(TOPDIR)/make/defs.mk
|
||||||
|
ALL = $(SHOBJS)
|
||||||
|
LDFLAGS := $(LDFLAGS) -shared
|
||||||
|
include $(TOPDIR)/make/rules.mk
|
||||||
|
clean: objclean textclean localclean
|
||||||
|
install: $(ALL) installso
|
||||||
9
make/text.mk
Normal file
9
make/text.mk
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
include $(TOPDIR)/make/defs.mk
|
||||||
|
include $(TOPDIR)/make/rules.mk
|
||||||
|
clean: textclean localclean
|
||||||
|
install: # nothing to be done
|
||||||
10
make/tools.mk
Normal file
10
make/tools.mk
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# generic utility modules
|
||||||
|
# (c) 2001 jannet it services
|
||||||
|
# contact@jannet.de
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
include $(TOPDIR)/make/defs.mk
|
||||||
|
ALL = $(LIBDIR) $(PREREQ_DONE) $(INST_HDRS) $(MEMBERS)
|
||||||
|
include $(TOPDIR)/make/rules.mk
|
||||||
|
clean: objclean textclean localclean
|
||||||
|
install: $(ALL)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue