Makefile
changeset 1 b31db3248246
parent 0 487cbfbafa2c
child 3 10b53719659c
equal deleted inserted replaced
0:487cbfbafa2c 1:b31db3248246
     1 LIBEVENT_PATH = libs/libevent
     1 LIBEVENT_PATH = ../libs/libevent-dev
     2 LIBFUSE_PATH = libs/libfuse
     2 LIBFUSE_PATH = ../libs/libfuse-2.7.4
     3 
     3 
     4 LIBRARY_PATHS = -L${LIBEVENT_PATH}/lib -L${LIBFUSE_PATH}/lib
     4 LIBRARY_PATHS = -L${LIBEVENT_PATH}/lib -L${LIBFUSE_PATH}/lib
     5 INCLUDE_PATHS = -I${LIBEVENT_PATH}/include -I${LIBFUSE_PATH}/include
     5 INCLUDE_PATHS = -I${LIBEVENT_PATH}/include -I${LIBFUSE_PATH}/include
     6 LDLIBS = -levent
     6 LDLIBS = -levent -lfuse
     7 
     7 
     8 DEFINES =
     8 # XXX: ugh... use `pkg-config fuse`
       
     9 DEFINES = -D_FILE_OFFSET_BITS=64
     9 MY_CFLAGS = -Wall -g -std=gnu99
    10 MY_CFLAGS = -Wall -g -std=gnu99
    10 
    11 
    11 BIN_NAMES = helloworld
    12 BIN_NAMES = hello helloworld
    12 
    13 
    13 bin/helloworld: obj/helloworld.o
    14 bin/helloworld: 
       
    15 bin/hello: obj/evfuse.o obj/lib/common.o
    14 
    16 
    15 # computed
    17 # computed
    16 LDFLAGS = ${LIBRARY_PATHS} ${LIBRARY_LIST}
    18 LDFLAGS = ${LIBRARY_PATHS} ${LIBRARY_LIST}
    17 CFLAGS = ${INCLUDE_PATHS} ${DEFINES} ${MY_CFLAGS}
    19 CFLAGS = ${INCLUDE_PATHS} ${DEFINES} ${MY_CFLAGS}
    18 
    20 
    19 SRC_PATHS = $(wildcard src/*.c)
    21 SRC_PATHS = $(wildcard src/*.c)
    20 SRC_NAMES = $(patsubst src/%,%,$(SRC_PATHS))
    22 SRC_NAMES = $(patsubst src/%,%,$(SRC_PATHS))
       
    23 SRC_DIRS = $(dir $(SRC_NAMES))
    21 
    24 
    22 BIN_PATHS = $(addprefix bin/,$(BIN_NAMES))
    25 BIN_PATHS = $(addprefix bin/,$(BIN_NAMES))
    23 
    26 
    24 # targets
    27 # targets
    25 all: depend ${BIN_PATHS}
    28 all: depend ${BIN_PATHS}
    30 depend:
    33 depend:
    31 	cd src
    34 	cd src
    32 	makedepend -p../obj/ -Y -- $(CFLAGS) -- $(SRC_NAMES) 2> /dev/null
    35 	makedepend -p../obj/ -Y -- $(CFLAGS) -- $(SRC_NAMES) 2> /dev/null
    33 	cd ..
    36 	cd ..
    34 
    37 
       
    38 obj-dirs: 
       
    39 	python build/make_obj_dirs.py $(BIN_PATHS)
       
    40 
    35 obj/%.o : src/%.c
    41 obj/%.o : src/%.c
    36 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
    42 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
    37 
    43 
    38 bin/% : obj/%.o
    44 bin/% : obj/%.o
    39 	$(CC) $(LDFLAGS) $< $(LOADLIBES) $(LDLIBS) -o $@
    45 	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
    40 
    46 
    41 # DO NOT DELETE THIS LINE -- make depend depends on it.
    47 # DO NOT DELETE THIS LINE -- make depend depends on it.