From 3deece559159150a0710d8160f39583ba7f2e582 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 31 Oct 2010 02:17:29 +0100 Subject: s4: Remove the old perl/m4/make/mk-based build system. The new waf-based build system now has all the same functionality, and the old build system has been broken for quite some time. Autobuild-User: Jelmer Vernooij Autobuild-Date: Sun Oct 31 02:01:44 UTC 2010 on sn-devel-104 --- source4/build/make/lex_compile.sh | 60 ------------ source4/build/make/python.mk | 51 ---------- source4/build/make/rules.mk | 190 ------------------------------------- source4/build/make/templates.mk | 143 ---------------------------- source4/build/make/yacc_compile.sh | 45 --------- 5 files changed, 489 deletions(-) delete mode 100755 source4/build/make/lex_compile.sh delete mode 100644 source4/build/make/python.mk delete mode 100644 source4/build/make/rules.mk delete mode 100644 source4/build/make/templates.mk delete mode 100755 source4/build/make/yacc_compile.sh (limited to 'source4/build/make') diff --git a/source4/build/make/lex_compile.sh b/source4/build/make/lex_compile.sh deleted file mode 100755 index d05056d100..0000000000 --- a/source4/build/make/lex_compile.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -LEX="$1" -SRC="$2" -DEST="$3" -shift 3 -ARGS="$*" - -dir=`dirname $SRC` -file=`basename $SRC` -base=`basename $SRC .l` -if [ -z "$LEX" ]; then - # if $DEST is more recent than $SRC, we can just touch - # otherwise we touch but print out warnings - if [ -r $DEST ]; then - if [ x`find $SRC -newer $DEST -print` = x$SRC ]; then - echo "warning: lex not found - cannot generate $SRC => $DEST" >&2 - echo "warning: lex not found - only updating the timestamp of $DEST" >&2 - fi - touch $DEST; - exit; - fi - echo "error: lex not found - cannot generate $SRC => $DEST" >&2 - exit 1; -fi -# if $DEST is more recent than $SRC, we can just touch -if [ -r $DEST ]; then - if [ x`find $SRC -newer $DEST -print` != x$SRC ]; then - touch $DEST; - exit; - fi -fi -TOP=`pwd` -echo "info: running $LEX $ARGS $file" -if cd $dir && $LEX $ARGS $file; then - if [ -r lex.yy.c ];then - # we must guarantee that config.h comes first - echo "info: move lex.yy.c to $base.c" - echo "#include \"config.h\"" > $base.c - sed -e "s|lex\.yy\.c|$DEST|" lex.yy.c >> $base.c - rm -f $base.yy.c - elif [ -r $base.yy.c ];then - # we must guarantee that config.h comes first - echo "info: move $base.yy.c to $base.c" - echo "#include \"config.h\"" > $base.c - sed -e "s|$base\.yy\.c|$DEST|" $base.yy.c >> $base.c - rm -f $base.yy.c - elif [ -r $base.c ];then - # we must guarantee that config.h comes first - echo "info: add #include \"config.h\" to $base.c" - mv $base.c $base.c.tmp - echo "#include \"config.h\"" > $base.c - sed -e "s|$base\.yy\.c|$DEST|" $base.c.tmp >> $base.c - rm -f $base.c.tmp - elif [ ! -r base.c ]; then - echo "$base.c nor $base.yy.c nor lex.yy.c generated." - exit 1 - fi -fi -cd $TOP diff --git a/source4/build/make/python.mk b/source4/build/make/python.mk deleted file mode 100644 index ea307da73d..0000000000 --- a/source4/build/make/python.mk +++ /dev/null @@ -1,51 +0,0 @@ -pythonbuilddir = bin/python - -installpython:: - mkdir -p $(DESTDIR)$(pythondir) - -# Install Python -# Arguments: Module path -define python_module_template - -installpython:: $$(pythonbuilddir)/$(1) ; - mkdir -p $$(DESTDIR)$$(pythondir)/$$(dir $(1)) - cp $$< $$(DESTDIR)$$(pythondir)/$(1) - -uninstallpython:: - rm -f $$(DESTDIR)$$(pythondir)/$(1) ; - -pythonmods:: $$(pythonbuilddir)/$(1) ; - -endef - -define python_py_module_template - -$$(pythonbuilddir)/$(1): $(2) ; - mkdir -p $$(@D) - cp $$< $$@ - -$(call python_module_template,$(1)) - -endef - -# Python C module -# Arguments: File name, dependencies, link list -define python_c_module_template - -$$(pythonbuilddir)/$(1): $(2) ; - @echo Linking $$@ - @mkdir -p $$(@D) - @$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3) - -$(call python_module_template,$(1)) -endef - -pythonmods:: - -clean:: - @echo "Removing python modules" - @rm -rf $(pythonbuilddir) - -bin/python/%.py: - mkdir -p $(@D) - cp $< $@ diff --git a/source4/build/make/rules.mk b/source4/build/make/rules.mk deleted file mode 100644 index 30622cc89b..0000000000 --- a/source4/build/make/rules.mk +++ /dev/null @@ -1,190 +0,0 @@ -# Rules file for Samba 4 -# This relies on GNU make. -# -# Dependencies command -DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ -MT : \ - $(CFLAGS) $(CPPFLAGS) $< -o $@ -# Dependencies for host objects -HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ -MT : \ - $(HOSTCC_FLAGS) $(CPPFLAGS) $< -o $@ -# Dependencies for precompiled headers -PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \ - $(CFLAGS) $(CPPFLAGS) $< -o $@ - -# Run a static analysis checker -CHECK = $(CC_CHECKER) $(CFLAGS) $(PICFLAG) $(CPPLAGS) -c $< -o $@ - -# Run the configured compiler -COMPILE = $(CC) $(CFLAGS) $(PICFLAG) \ - $(CPPFLAGS) \ - -c $< -o $@ - -# Run the compiler for the build host -HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) $(CPPFLAGS) -c $< -o $@ - -# Precompile headers -PCHCOMPILE = @$(CC) -Ilib/replace \ - $(CFLAGS) $(PICFLAG) $(CPPFLAGS) -c $< -o $@ - -# Partial linking -PARTLINK = @$(PROG_LD) -r - -make_utility_dir = $(srcdir)/build/make/ - -include/config.h: - @echo "include/config.h not present" - @echo "You need to rerun ./autogen.sh and ./configure" - @/bin/false - -pch:: - -clean:: clean_pch - @echo Removing objects - @-find . -name '*.o' -exec rm -f '{}' \; - @echo Removing hostcc objects - @-find . -name '*.ho' -exec rm -f '{}' \; - @echo Removing libraries - @-rm -f $(STATIC_LIBS) $(SHARED_LIBS) - @-rm -f bin/static/*.a $(shliboutputdir)/*.$(SHLIBEXT) bin/mergedobj/*.o - @echo Removing modules - @-rm -f bin/modules/*/*.$(SHLIBEXT) - @-rm -f bin/*_init_module.c - @echo Removing dummy targets - @-rm -f bin/.*_* - @echo Removing generated files - @-rm -f bin/*_init_module.c - @-rm -f librpc/gen_ndr/*.* - -distclean:: clean - -rm -f include/config.h include/config_tmp.h include/build.h - -rm -f data.mk - -rm -f config.status - -rm -f config.log config.cache - -rm -f config.pm config.mk - -rm -f $(PC_FILES) - -removebackup:: - -rm -f *.bak *~ */*.bak */*~ */*/*.bak */*/*~ */*/*/*.bak */*/*/*~ - -realdistclean:: distclean removebackup - -rm -f include/config_tmp.h.in - -rm -f version.h - -rm -f configure - -rm -f $(MANPAGES) - -check:: test - -unused_macros: - $(srcdir)/script/find_unused_macros.pl `find . -name "*.[ch]"` | sort - -# Create a static library -%.a: - @echo Linking $@ - @rm -f $@ - @mkdir -p $(@D) - @$(STLD) $(STLD_FLAGS) $@ $^ - -include $(make_utility_dir)/templates.mk - -############################################################################### -# File types -############################################################################### - -.SUFFIXES: .x .c .et .y .l .d .o .h .h.gch .a .$(SHLIBEXT) .1 .1.xml .3 .3.xml .5 .5.xml .7 .7.xml .8 .8.xml .ho .idl .hd - -.c.d: - @echo "Generating dependencies for $<" - @$(DEPENDS) - -.c.hd: - @echo "Generating host-compiler dependencies for $<" - @$(HDEPENDS) - -include/includes.d: include/includes.h - @echo "Generating dependencies for $<" - @$(PCHDEPENDS) - -.c.o: - @if test -n "$(CC_CHECKER)"; then \ - echo "Checking $< with '$(CC_CHECKER)'"; \ - $(CHECK) ; \ - fi - @echo "Compiling $<" - @-mkdir -p `dirname $@` - @$(COMPILE) && exit 0 ; \ - echo "The following command failed:" 1>&2;\ - echo "$(subst ",\",$(COMPILE))" 1>&2 && exit 1 - - -.c.ho: - @echo "Compiling $< with host compiler" - @-mkdir -p `dirname $@` - @$(HCOMPILE) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(subst ",\",$(HCOMPILE))" 1>&2;\ - $(HCOMPILE) >/dev/null 2>&1 - -.h.h.gch: - @echo "Precompiling $<" - @$(PCHCOMPILE) - -.y.c: - @echo "Building $< with $(YACC)" - @-$(make_utility_dir)/yacc_compile.sh "$(YACC)" "$<" "$@" - -.l.c: - @echo "Building $< with $(LEX)" - @-$(make_utility_dir)/lex_compile.sh "$(LEX)" "$<" "$@" - -%.a: - @echo Linking $@ - @rm -f $@ - @mkdir -p $(@D) - @$(STLD) $(STLD_FLAGS) $@ $^ - - -DOCBOOK_MANPAGE_URL = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl - -.1.xml.1: - $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $< - -.3.xml.3: - $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $< - -.5.xml.5: - $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $< - -.7.xml.7: - $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $< - -.8.xml.8: - $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $< - -dist:: idl_full manpages configure distclean - -configure: - ./autogen.sh - -showflags:: - @echo 'Samba will be compiled with flags:' - @echo ' CPP = $(CPP)' - @echo ' CPPFLAGS = $(CPPFLAGS)' - @echo ' CC = $(CC)' - @echo ' CFLAGS = $(CFLAGS)' - @echo ' PICFLAG = $(PICFLAG)' - @echo ' BNLD = $(BNLD)' - @echo ' BNLD_FLAGS = $(BNLD_FLAGS)' - @echo ' STLD = $(STLD)' - @echo ' STLD_FLAGS = $(STLD_FLAGS)' - @echo ' SHLD = $(SHLD)' - @echo ' SHLD_FLAGS = $(SHLD_FLAGS)' - @echo ' MDLD = $(MDLD)' - @echo ' MDLD_FLAGS = $(MDLD_FLAGS)' - @echo ' SHLIBEXT = $(SHLIBEXT)' - -etags: - etags $(ETAGS_OPTIONS) `find $(base_srcdirs) -name "*.[ch]"` - -ctags: - ctags $(CTAGS_OPTIONS) `find $(base_srcdirs) -name "*.[ch]" | grep -v "_proto\.h"` - diff --git a/source4/build/make/templates.mk b/source4/build/make/templates.mk deleted file mode 100644 index 12a606c432..0000000000 --- a/source4/build/make/templates.mk +++ /dev/null @@ -1,143 +0,0 @@ -# Templates file for Samba 4 -# This relies on GNU make. -# -# © 2008 Jelmer Vernooij -# -############################################################################### -# Templates -############################################################################### - -# Partially link -# Arguments: target object file, source object files -define partial_link_template -$(1): $(2) ; - @echo Partially linking $$@ - @mkdir -p $$(@D) - $$(PARTLINK) -o $$@ $$^ -endef - -# Link a binary -# Arguments: target file, depends, flags -define binary_link_template -$(1): $(2) ; - @echo Linking $$@ - @$$(BNLD) $$(BNLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3) - -clean:: - @rm -f $(1) - -binaries:: $(1) - -endef - -# Link a host-machine binary -# Arguments: target file, depends, flags -define host_binary_link_template -$(1): $(2) ; - @echo Linking $$@ - @$$(HOSTLD) $$(HOSTLD_FLAGS) -L$${builddir}/bin/static -o $$@ $$(INSTALL_LINK_FLAGS) $(3) - -clean:: - rm -f $(1) - -binaries:: $(1) - -endef - -# Create a prototype header -# Arguments: header file, c files -define proto_header_template - -proto:: $(1) ; - -clean:: ; - rm -f $(1) - -$(1): $(2) ; - @echo "Creating $$@" - @$$(PERL) $$(srcdir)/script/mkproto.pl --srcdir=$$(srcdir) --builddir=$$(builddir) --public=/dev/null --private=$$@ $$^ - -$($(2):.c=.o): $(1) ; - -endef - -# Shared module -# Arguments: Target, dependencies, objects -define shared_module_template - -$(1): $(2) ; - @echo Linking $$@ - @mkdir -p $$(@D) - @$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3) - -endef - -# Shared library -# Arguments: Target, dependencies, link flags, soname -define shared_library_template -$(1): $(2) - @echo Linking $$@ - @mkdir -p $$(@D) - @$$(SHLD) $$(LDFLAGS) $$(SHLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) \ - $(3) \ - $$(if $$(SONAMEFLAG), $$(SONAMEFLAG)$(notdir $(4))) - -ifneq ($(notdir $(1)),$(notdir $(4))) -$(4): $(1) - @echo "Creating symbolic link for $$@" - @ln -fs $$( $DEST" >&2 - echo "warning: yacc not found - only updating the timestamp of $DEST" >&2 - fi - touch $DEST; - exit; - fi - echo "error: yacc not found - cannot generate $SRC => $DEST" >&2 - exit 1; -fi -# if $DEST is more recent than $SRC, we can just touch -if [ -r $DEST ]; then - if [ x`find $SRC -newer $DEST -print` != x$SRC ]; then - touch $DEST; - exit; - fi -fi -TOP=`pwd` -echo "info: running $YACC -d $file" -if cd $dir && $YACC -d $file; then - if [ -r y.tab.h -a -r y.tab.c ];then - echo "info: move y.tab.h to $base.h" - sed -e "/^#/!b" -e "s|y\.tab\.h|$SRC|" -e "s|\"$base.y|\"$SRC|" y.tab.h > $base.h - echo "info: move y.tab.c to $base.c" - sed -e "s|y\.tab\.c|$SRC|" -e "s|\"$base.y|\"$SRC|" y.tab.c > $base.c - rm -f y.tab.c y.tab.h - elif [ ! -r $base.h -a ! -r $base.c]; then - echo "$base.h nor $base.c generated." - exit 1 - fi -fi -cd $TOP -- cgit