mirror of git://git.suckless.org/svkbd
create layout-dependent object files
When you build svkbd with different layouts, you get one binary per layout but all binaries are identical: $ make LAYOUT=mobile-plain $ make LAYOUT=mobile-simple $ diff -s svkbd-mobile-plain svkbd-mobile-simple Files svkbd-mobile-plain and svkbd-mobile-simple are identical The problem is that svkbd.o from the first build is being reused in the second build. This commit changes the Makefile to create layout-dependent object files like svkbd-mobile-plain.o and svkbd-mobile-simple.o (instead of a shared svkbd.o).
This commit is contained in:
parent
0f07238b53
commit
4061bacc1d
7
Makefile
7
Makefile
|
@ -9,7 +9,7 @@ include config.mk
|
|||
|
||||
BIN = ${NAME}-${LAYOUT}
|
||||
SRC = drw.c ${NAME}.c util.c
|
||||
OBJ = ${SRC:.c=.o}
|
||||
OBJ = drw.o ${NAME}-${LAYOUT}.o util.o
|
||||
MAN1 = ${NAME}.1
|
||||
|
||||
all: ${BIN}
|
||||
|
@ -24,7 +24,8 @@ options:
|
|||
config.h:
|
||||
cp config.def.h $@
|
||||
|
||||
svkbd.o: config.h layout.${LAYOUT}.h
|
||||
svkbd-${LAYOUT}.o: config.h layout.${LAYOUT}.h
|
||||
${CC} ${SVKBD_CFLAGS} ${SVKBD_CPPFLAGS} -c svkbd.c -o $@
|
||||
|
||||
.c.o:
|
||||
${CC} ${SVKBD_CFLAGS} ${SVKBD_CPPFLAGS} -c $<
|
||||
|
@ -35,7 +36,7 @@ ${BIN}: ${OBJ}
|
|||
${CC} -o ${BIN} ${OBJ} ${SVKBD_LDFLAGS}
|
||||
|
||||
clean:
|
||||
rm -f ${NAME}-?? ${NAME}-??.o ${OBJ} ${BIN}
|
||||
rm -f ${NAME}-?? ${NAME}-*.o ${OBJ} ${BIN}
|
||||
|
||||
dist:
|
||||
rm -rf "${NAME}-${VERSION}"
|
||||
|
|
Loading…
Reference in New Issue