( pinyo_villany | 2015. 06. 01., h – 03:21 )

van az ilyenre is jopar megoldas, az egyik erdekes az ehhez hasonlo:


home@home:/tmp/test$ cat test.c 
#include <stdio.h>

void
foo(void)
{

        return;
}

int
main(int argc, char **argv)
{
        HOOK_1

        foo();

        HOOK_2
}
home@home:/tmp/test$ cat Makefile 
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
HOOK_1= 'printf("linux\n");'
HOOK_2= 'return (2);'
else
HOOK_1= 'return (1);'
HOOK_2= ''
endif

CFLAGS+= -DHOOK_1=${HOOK_1} -DHOOK_2=${HOOK_2}

all:    test

viszont ezt meg lehet oldani szebben is, ha kiszervezed a hook-okat kulon platform specifikus fileokba es a megfelelohoz linkelsz.