oni / cf / OMakefile

##############################################################################
# 
# $Change$
# Copyright (C) 2010, james woodyatt
# All rights reserved.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 
#   Redistributions of source code must retain the above copyright
#   notice, this list of conditions and the following disclaimer.
#   
#   Redistributions in binary form must reproduce the above copyright
#   notice, this list of conditions and the following disclaimer in
#   the documentation and/or other materials provided with the
#   distribution
# 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
# OF THE POSSIBILITY OF SUCH DAMAGE. 

### Create the cf component
component=$(OCaml_component.new cf)

### Compose the cf library
section
    modules[]=
        ordered
        either
        exnopt
        smonad
        cmonad
        scmonad
        tai64
        tai64n
        gregorian
        stdtime
        journal
        seq
        dyn
        deque
        flow
        llscan
        xdfa
        ucs
        message
        heap
        pqueue
        map
        set
        sbheap
        rbtree
        gadget
        state_gadget
        machine
        unicode
        parser
        dfa
        regex
        lex
        scan_parser
    
    primitives[]=
        common
        tai64
        tai64n
    
    ### Create source description
    src.=
        MODULES= $(addprefix cf_, $(modules))
        CFILES= $(add-wrapper cf_, _p.c, $(primitives))
        PACKAGES= unix
    
    ### Construct the composition unit for the cf library
    unit=$(OCaml_library.new cf, $(src))
    unit.compose($(component))
    
    ### Packaging
    sub.=
        NAME=cf
        DESCRIPTION=$"Oni core foundation"
        ARCHIVES=$(unit.package-archives)
        REQUIRES=unix
    PKG=$(PKG.add-subpackage $(sub))
    PKG=$(component.package-search $(PKG))
    PKG.FILES+=$(unit.package-files $(component))
    export PKG

### Compose the cf library test
section
    
    ### Create source description
    src.=
        MODULES= t/t_cf
        LIBREFS= $(OCaml_library_referral.new $(component), cf, mixed)
        PACKAGES= unix
    
    ### Construct the composition unit for the cf library
    unit=$(OCaml_test_program.new t-cf, $(src))
    unit.compose($(component))

# End $File$
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.