Date: Tue, 16 Feb 1999 15:41:45 +0100 From: Roland Jesse <jesse@prinz-atm.CS.Uni-Magdeburg.De> To: freebsd-hackers@freebsd.org Subject: Makefile: >1 program without a single target each. Message-ID: <19990216154145.A1700@cs.uni-magdeburg.de>
next in thread | raw e-mail | index | archive | help
Hello, Assumed, I have the source code for more than just one program in a directory (because they share a couple source code files). How does the Makefile has to / should look like? Normally, I would do something like: PROG= myprog SRCS= myprog.c utils.c otherstuff.c NOMAN= No manual page yet. BINDIR= /usr/local/bin .include <bsd.prog.mk> This is passed to: OBJS+= ${SRCS:N*.h:R:S/$/.o/g} ${PROG}: ${OBJS} ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDDESTDIR} ${LDADD} But what do I do when the Makefile is supposed to handle more than just one potential target? How do I specify the OBJS variable depending on the different source files? Scenario: PROG1= myprog PROG2= herprog SRCS1= myprog.c utils.c otherstuff.c SRCS2= herprog.c herprog.h utils.c otherstuff.c NOMAN= No manual page yet. BINDIR= /usr/local/bin .include <bsd.prog.mk> I do not want to specify the whole compilation line for each program like in: MYOBJS= myprog.o utils.o otherstuff.o myprog: $(MYOBJS) ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} $(MYOBJS) ${LDDESTDIR} ${LDADD}HEROBJS= herprog.o utils.o otherstuff.o herprog: $(HEROBJS) ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} $(HEROBJS) ${LDDESTDIR} ${LDADD} Any ideas to get around the OBJS-problem are appreciated. Roland To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990216154145.A1700>