Here is a little Makefile i wrote really quickly to build the basic libs from the help page http://wiki.enlightenment.org/index.php/E17_User_Guide/Installing_Using_CVS

Pretty simple except for the chain rule bit. It would be nice to have something like this in the trunk for the n00b to use when building e17.

Put it anywhere you like, even /tmp and edit the SRCDIR path in it, and just hit "make" and you should have a nice build.


thanks.

V.
# Author- Vikram Ambrose
# Date  - 9/8/2008

# Installation Prefix
PREFIX          = /opt/e17
LIBDIR          = $(PREFIX)/lib64
INCLUDEDIR      = $(PREFIX)/include

# Top level source directory (ie, SRCDIR/libs/eet etc..)
SRCDIR          = /home/vikky/Programs/e17

# Folder to build in
BUILDDIR        = $(SRCDIR)/build

# Folder to store timestamps
STAMPDIR        = $(BUILDDIR)/stamps

# Number of make jobs
JOBS            = 1

# Method of creating time stamp
STAMP           = echo `date` > 

# Print on the screen
PRINT           = echo -n -e 

# Environment variables for ./configure
CONFIG_VARS     = PKG_CONFIG_PATH=$(LIBDIR)/pkgconfig 

# Environemnt variables for ./autogen.sh
AUTOGEN_VARS    = NOCONFIGURE=y

# Build Log
#LOG            = &> /dev/null 

all:  $(STAMPDIR)/built_all setup_env
        @$(PRINT) "ALl Done\n"

$(STAMPDIR)/built_all: setup_env  eet evas ecore embryo efreet edje e_dbus
        @$(STAMP) $@

# Run only once to create folders and other stuff if necessary
$(STAMPDIR)/setup :
        @$(PRINT) "Creating build folders\n"
        @mkdir $(STAMPDIR)
        @$(STAMP) $@

# Run at each package rule
setup_env : $(STAMPDIR)/setup
        @$(PRINT) "Setting up Environment\n"
        
# Used to run ./configure
$(STAMPDIR)/%.conf : $(STAMPDIR)/%.preconf
        @$(PRINT) "Configuring $(basename $(notdir $@))\n"
        @cd $(BUILDDIR)/$(basename $(notdir $@)) \
                && $(CONFIG_VARS) $(SRCDIR)/libs/$(basename $(notdir 
$@))/configure \
                        --prefix=$(PREFIX) \
                        --libdir=$(LIBDIR) \
                $(LOG)
        @$(STAMP) $@

# Actual compile rule
$(STAMPDIR)/%.compile : $(STAMPDIR)/%.conf
        @$(PRINT) "Compiling $(basename $(notdir $@))\n"
        @time { make -C $(BUILDDIR)/$(basename $(notdir $@)) -j $(JOBS) $(LOG) 
; }
        @$(STAMP) $@

# Install rule
$(STAMPDIR)/%.install : $(STAMPDIR)/%.compile
        @$(PRINT) "Installing $(basename $(notdir $@))\n"
        @time { make -C $(BUILDDIR)/$(basename $(notdir $@))  install $(LOG) ; }
        @$(STAMP) $@

# sh autogen.sh rule
$(STAMPDIR)/%.preconf : $(SRCDIR)/libs/%/autogen.sh $(STAMPDIR)/setup
        @$(PRINT) "Preconfiguring $(basename $(notdir $@))\n"
        @cd $(SRCDIR)/libs/$(basename $(notdir $@)) \
                && $(AUTOGEN_VARS) ./autogen.sh $(LOG)  
        @mkdir $(BUILDDIR)/$(basename $(notdir $@))
        @$(STAMP) $@


# Listed explicitly to prevent Make from deleteing intermediataries from Chain 
Rule
eet:    $(STAMPDIR)/eet.install \
        $(STAMPDIR)/eet.compile \
        $(STAMPDIR)/eet.conf \
        $(STAMPDIR)/eet.preconf

evas:   $(STAMPDIR)/evas.install \
        $(STAMPDIR)/evas.compile \
        $(STAMPDIR)/evas.conf \
        $(STAMPDIR)/evas.preconf \
        eet

ecore:  $(STAMPDIR)/ecore.install \
        $(STAMPDIR)/ecore.compile \
        $(STAMPDIR)/ecore.conf \
        $(STAMPDIR)/ecore.preconf \
        evas

embryo: $(STAMPDIR)/embryo.install \
        $(STAMPDIR)/embryo.compile \
        $(STAMPDIR)/embryo.conf \
        $(STAMPDIR)/embryo.preconf \
        efreet

efreet: $(STAMPDIR)/efreet.install \
        $(STAMPDIR)/efreet.compile \
        $(STAMPDIR)/efreet.conf \
        $(STAMPDIR)/efreet.preconf \
        ecore

edje:   $(STAMPDIR)/edje.install \
        $(STAMPDIR)/edje.compile \
        $(STAMPDIR)/edje.conf \
        $(STAMPDIR)/edje.preconf \
        embryo evas

e_dbus: $(STAMPDIR)/e_dbus.install \
        $(STAMPDIR)/e_dbus.compile \
        $(STAMPDIR)/e_dbus.conf \
        $(STAMPDIR)/e_dbus.preconf \
        edje

.PHONY: eet evas ecore embryo edje e_dbus setup_env all

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to