Re: Port from Linux, Makefile not in top-level
- In reply to: Xavier Humbert : "Port from Linux, Makefile not in top-level"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 18 Jun 2021 16:46:02 UTC
From: Xavier Humbert <xavier@groumpf.org> Subject: Port from Linux, Makefile not in top-level Date: Fri, 18 Jun 2021 18:19:45 +0200 > Hi, I'm porting rudder-agent to FreeBSD, but I have a problem since > the > main Makefile is not at the top level of the hierarchy, as shown below > (excerpt) > > rudder-sources-6.2.7/ > ├── rudder-agent > │ ├── bin > │ ├── etc > │ ├── LICENSE > │ ├── man > │ ├── qa-test > │ ├── README.md > │ └── share > ├── rudder-packages > │ └── rudder-agent > │ └── SOURCES > │ ├── Makefile > │ └── Makefile.orig > └── NO Makefile AT THIS LEVEL > > The solution, at first glance seems to be simple : set > WRKSRC_SUBDIR=rudder-packages/${PORTNAME}/SOURCES > (ie > work/rudder-sources-6.2.7/rudder-packages/rudder-agent/SOURCES) > > In fact, ${WRKSRC_SUBDIR}/Makefile takes care of the first-level > "rudder-agent", and files are correctly installed in the "stage" > directory, > but a huge problem arises : > "make makepatch" and "make patch" ignore this first-level directory, > and I > have files to patch here > > What would be the solution ? If I leave alone WRKSRC_SUBDIR using a > "do-build" > target in my Makefile : > │ do-build: > │ cd ${WRKSRC}/rudder-packages/rudder-agent/SOURCES && \ > │ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} install) > Nothing works, and make all complains about a top-level Makefile > missing > > TIA, hope I've been clear enough, feel free to ask more > > Regards Setting BUILD_WRKSRC and INSTALL_WRKSRC may help you. See comments of Mk/bsd.port.mk for detail. --- Yasuhiro Kimura