0

Context

I am working on a klee (http://klee.llvm.org) fork and want to clean up our repository to separate our stuff from the "canonical" klee code. Anyway, I'm having trouble understanding/extending the build system.

Problem

The directory structure in /lib/ looks like this

Basic/
Core/
Support/
Expr/
Solver/
Module/
Mine/

Mine was just added by me, so far we threw everything in Core and I am moving it to Mine. How do I tell the build system to do this properly?

My attempt

Being unable to figure this out on my own, I edited /lib/Makefile:

LEVEL=..

PARALLEL_DIRS=Basic Support Expr Solver Module Core Mine

include $(LEVEL)/Makefile.common

and copied the /lib/Core/Makefile to /lib/Mine/Makefile while changing LIBRARYNAME=kleeCore to LIBRARYNAME=kleeMine.

Caveat

I have a feeling that this is not the proper way to do it, and I should rather modify some configure script or something. Also it does not link (it compiles, though).

bitmask
  • 32,434
  • 14
  • 99
  • 159

1 Answers1

1

A colleague just told me how to get it to link, which is by modifying /tools/klee/Makefile

USEDLIBS = kleeCore.a kleeModule.a kleaverSolver.a kleaverExpr.a kleeSupport.a kleeBasic.a kleeMine.a
bitmask
  • 32,434
  • 14
  • 99
  • 159
  • I am not sure if this is the way you are supposed to do this. But it seems to work. So if there are no better suggestions in a reasonable time, I'll keep this solution. – bitmask Aug 25 '11 at 15:52