Add out-of-tree building (make O=/path -C /path/to/wmfs)

This commit is contained in:
David Delassus 2010-11-09 20:01:14 +01:00 committed by Philippe Pepiot
parent 2614c61657
commit b055908080
3 changed files with 10 additions and 49 deletions

View File

@ -25,7 +25,7 @@ src/util.c \
src/viwmfs.c \
src/wmfs.c
OBJ = ${SRC:.c=.o}
OBJ = ${patsubst %.c,${O}/%.o,${SRC}}
ifneq ($(findstring xrandr, ${LIBS}),)
CFLAGS+= -DHAVE_XRANDR
@ -39,9 +39,10 @@ ifneq ($(findstring imlib2, ${LIBS}),)
CFLAGS+= -DHAVE_IMLIB2
endif
all: options wmfs
all: options ${O}/wmfs
%.o: %.c config.mk
${O}/%.o: %.c config.mk
@if [ ! -d `dirname ${O}/$<` ]; then mkdir -p `dirname ${O}/$<`; fi
@echo CC $<
@${CC} -c ${CFLAGS} $< -o $@
@ -49,8 +50,11 @@ options:
@echo wmfs compile with ${LIBS}
@echo - CFLAGS ${CFLAGS}
@echo - LDFLAGS ${LDFLAGS}
@echo - OUTPUT ${O}
wmfs: ${OBJ} config.mk
@if [ ! -d ${O} ]; then mkdir -p ${O}; fi
${O}/wmfs: ${OBJ} config.mk src/structs.h src/wmfs.h src/parse/parse.h
@echo CC -o $@
@${CC} -o $@ ${OBJ} ${LDFLAGS}
@ -77,3 +81,4 @@ uninstall:
.PHONY: all clean install uninstall

View File

@ -17,3 +17,4 @@ LDFLAGS= $(shell pkg-config --libs ${LIBS}) -lpthread
CFLAGS+= -DWMFS_VERSION=\"${VERSION}\"
CC = cc
O = __build__

View File

@ -1,45 +0,0 @@
/*
* config.h
* Copyright © 2008 Martin Duquesnoy <xorg62@gmail.com>
* 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.
* * Neither the name of the nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* 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
* OWNER 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.
*/
#ifndef CONFIG_H
#define CONFIG_H
#include "wmfs.h"
#define WMFS_VERSION "@VERSION@"
#define WMFS_COMPILE_MACHINE "@CMAKE_SYSTEM_PROCESSOR@"
#define WMFS_COMPILE_BY "@USERNAME@"
#define WMFS_COMPILE_FLAGS "@CMAKE_C_FLAGS@"
#define WMFS_LINKED_LIBS "@CMAKE_LINK_LIBRARIES@"
#define XDG_CONFIG_DIR "@CMAKE_XDGCONFDIR@"
#endif /* CONFIG_H */