Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, March 29, 2024

File: [Platon] / doc / diplomova-praca-rajo / scripts / Makefile (download)

Revision 1.3, Sun Jan 16 14:34:56 2005 UTC (19 years, 2 months ago) by rajo


Changes since 1.2: +4 -3 lines

Fix.

# Makefile for creating distribution of test package
# Type 'make dist' for create tar-gziped archiv. 

#
# Author: Lubomir Host 'rajo' <rajo AT host.sk>
#

# $Platon: doc/diplomova-praca-rajo/scripts/Makefile,v 1.2 2005/01/16 14:33:28 rajo Exp $ 

PACKAGE = hotGas
VERSION = 1.0

unexport SUBDIRS
unexport SUBDIR_OBJECTS
unexport MAKEFILES
unexport CONFIGURE_SCRIPTS
export PACKAGE
export VERSION

# Directories {{{

srcdir       = .
top_srcdir   = .
distdir      = $(PACKAGE)-$(VERSION)
top_distdir  = $(distdir)
top_builddir = .

# }}} Directories

# Targets

# if you have subdirectories with Makefiles,
# add names of directories here
SUBDIRS   =

# ak subor v $(SOURCES) neexistuje, spravi sa symlinka na tento zdrojak
BASE_SOURCE = hotGas.c
 
# here add names of your source codes
SOURCE_SYMLINKS    = hotGas-drift.c \
                  hotGas-distrib.c

SOURCES            = v-drift-analytic.c
                  #casy-zrazok.c


# name of objects and header files is created
# _automaticaly_ from $(SOURCES) -- you don't need
# change this
OBJECTS          = $(sort $(patsubst %.c,%.o,$(SOURCES) $(SOURCE_SYMLINKS)))
# include_HEADERS = $(sort $(patsubst %.c,%.h,$(SOURCES)))
DEP_FILES        = $(sort $(patsubst %.c,.deps/%.P,$(SOURCES) $(SOURCE_SYMLINKS)))
PROGRAMS         = $(sort $(patsubst %.c,%,$(SOURCES) $(SOURCE_SYMLINKS)))

BASENAME_REGEXP_ = $(sort $(basename $(notdir $(BASE_SOURCE))))
BASENAME_REGEXP  = $(shell echo '$(BASENAME_REGEXP_)' | sed 's/-/_/g; s/ \+/_|/g;' )


DISTFILES = Makefile \
            $(BASE_SOURCE) $(SOURCES) $(include_HEADERS)

# }}} Targets

# Programs {{{

TAR          = tar
ZIP          = zip
ZIP_ENV      = -r9
GZIP_ENV     = --best
             
CC           = gcc
CPP          =
CXX          =
#DEBUG_FLAGS  = -g -ggdb -DDEBUG
CFLAGS       = -Wall -Wshadow $(DEBUG_FLAGS)
CPPFLAGS     =
LDFLAGS      = -L./lib
DEFS         =
INCLUDES     = -I$(srcdir) -I$(top_builddir) -I./include
#LIBS         = -lm -lcfg+ -lDiplomovka
LIBS         = -lm -lcfg+


COMPILE  = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
CCLD     = $(CC)
LINK     = $(CCLD) $(CFLAGS) $(LDFLAGS) -o $@

echo_COMPILE = $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS)
COMPILE := $(COMPILE) -DCOMPILE_STRING="\"$(COMPILE) $$EXTRA_DEFINES\""

# }}} Programs

all: include/platon/cfg.h $(SOURCES) $(OBJECTS) $(PROGRAMS)

include/platon/cfg.h: libcfg+-0.6.2.tar.gz
    tar xvzf libcfg+-0.6.2.tar.gz
    here=`pwd`; cd libcfg+-0.6.2/ && ./configure --prefix=$$here && $(MAKE) install

libcfg+-0.6.2.tar.gz:
    @echo; echo "Library libcfg+ is needed for succesfull building"
    @echo "Attempting to download from http://platon.sk website ..."
    wget -nH -nd 'http://platon.sk/projects/download.php?id=57&force=1'


print-param:
    @echo "COMPILE = $(COMPILE)"
    @echo "LINK    = $(LINK)"
    @echo "BASENAME_REGEXP = $(BASENAME_REGEXP)"
    @echo

debug:
    $(MAKE) DEBUG_FLAGS="-g -ggdb -DDEBUG"

#$(PROGRAM): $(OBJECTS)
%: %.o
    $(LINK) $@.o $(LIBS)

DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-include $(DEP_FILES)

%.o: %.c
    @EXTRA_DEFINES="`echo '$@' | \
        awk '{    gsub(/-/, \"_\"); \
                sub(/^($(BASENAME_REGEXP)_)/, \" -D\"); \
                if (! /^[ \t]+-D/) \
                    sub(/^/, \"-D\"); \
                sub(/\.o$$/, \"\"); \
                print toupper($$0); }'`"; \
    echo "$(echo_COMPILE) $$EXTRA_DEFINES -o $@ -c $<"; \
    $(COMPILE) $$EXTRA_DEFINES -Wp,-MD,.deps/$(*F).pp -o $@ -c $<
    @-cp .deps/$(*F).pp .deps/$(*F).P; \
    tr ' ' '\012' < .deps/$(*F).pp \
      | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
        >> .deps/$(*F).P; \
    rm .deps/$(*F).pp

$(BASE_SOURCE):
    ln -s -f ../hotGas.c $@

$(SOURCE_SYMLINKS): $(BASE_SOURCE)
    ln -s -f $< $@;

clean:
    -rm -rf *.o core* .deps/
    -rm -f $(SOURCE_SYMLINKS) $(BASE_SOURCE)
    -rm -rf libcfg+-0.6.2/ include/ lib/ man/ share/

dist:
    make -C ../ dist

# vim600: fdm=marker fdc=3




Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top