26 lines
650 B
Nix
26 lines
650 B
Nix
let
|
|
basicC = subdir: name: { stdenv }:
|
|
stdenv.mkDerivation {
|
|
inherit name;
|
|
src = ./.;
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
gcc ${subdir}/${name}.c -o ${name}.bin
|
|
runHook postBuild
|
|
'';
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out/bin
|
|
install ${name}.bin $out/bin/${name}
|
|
runHook postInstall
|
|
'';
|
|
};
|
|
in {
|
|
a2-p1-producer = basicC "part1" "producer";
|
|
a2-p1-consumer = basicC "part1" "consumer";
|
|
|
|
a2-p2-bidirectional = basicC "part2" "bidirectional";
|
|
|
|
a2-p3-producer = basicC "part3" "producer";
|
|
a2-p3-consumer = basicC "part3" "consumer";
|
|
}
|