mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +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
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