Click here to Skip to main content
15,904,339 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: An architectural sign ! Pin
Mycroft Holmes6-May-17 14:04
professionalMycroft Holmes6-May-17 14:04 
QuestionSimple N-Tier design Pin
Danpeking18-Apr-17 4:39
Danpeking18-Apr-17 4:39 
QuestionDesign a opportunistic exists-in-set query Pin
Member 1247514217-Apr-17 17:33
Member 1247514217-Apr-17 17:33 
AnswerRe: Design a opportunistic exists-in-set query Pin
Gerry Schmitz18-Apr-17 6:09
mveGerry Schmitz18-Apr-17 6:09 
QuestionNeed 2 auto-generation puzzle programs created Pin
JustifiedPub30-Mar-17 8:54
JustifiedPub30-Mar-17 8:54 
AnswerRe: Need 2 auto-generation puzzle programs created Pin
Pete O'Hanlon30-Mar-17 9:10
mvePete O'Hanlon30-Mar-17 9:10 
AnswerRe: Need 2 auto-generation puzzle programs created Pin
ZurdoDev30-Mar-17 10:10
professionalZurdoDev30-Mar-17 10:10 
QuestionMake a general makefile at root to search subdirectories and pick the path variables Pin
Jitesh Varma15-Mar-17 3:52
professionalJitesh Varma15-Mar-17 3:52 
Hello all,
I have just moved from Windows environment to Linux, and have been asked to update a project - still learning but tips would be helpful!
I have a directory structure:

RootMakefile.mk
.
.--\GUI1 (Folder)
. |
--dataprep(Folder)
. ---makefile1.mk
--config(Folder)
.--\GUI2 (Folder)
. |
--dataprep(Folder)
....makefile2.mk
--config(Folder)
.
.---\GUI(n) (Folder)
|
--dataprep(Folder)
....makefile(n).mk
--config(Folder)

makefile1.mk...makefile(n).mk are similar with just the variables within changing the paths, and the task is to move all makefiles to the root so they don't need to updated each time a new GUI is added to the project.

I changed the root makefile as following:

GUI_PATH := $(wildcard GUI*/)
TARGET_FILE := GuiDetails.rb
ACTIVE_GUIS := $(filter %, $(wildcard SMA*/$(TARGET_FILE)))
GUIS_OF_INTEREST := $(filter %, $(dir $(ACTIVE_GUIS)))
DATAPREP_FOLDER := dataprep
CONFIG_FOLDER := config
DATAPREP_PATHS := $(foreach GUIS_OF_INTEREST,$(GUIS_OF_INTEREST), $(GUIS_OF_INTEREST)$(DATAPREP_FOLDER))
CONFIG_PATHS := $(foreach GUIS_OF_INTEREST,$(GUIS_OF_INTEREST), $(GUIS_OF_INTEREST)$(CONFIG_FOLDER))


Now I seem to have all the folders that containing the Target file and so the makefile(1)...makefile(n), tried this to make sure:
test:
$(warning The following paths have guis $(GUIS_OF_INTEREST))
$(warning The following gui paths have dataprep $(foreach GUIS_OF_INTEREST, $(GUIS_OF_INTEREST), $(GUIS_OF_INTEREST)$(DATAPREP_FOLDER)))
$(warning The following gui paths have config $(foreach GUIS_OF_INTEREST, $(GUIS_OF_INTEREST), $(GUIS_OF_INTEREST)$(CONFIG_FOLDER)))


Is there a way now to move the makefiles within the folders to the root, and change the path variables dynamically so the guis can be generated for all different folders from a single makefile?

examples are:

(Within .\GUI1):
$(call DEF_RULES,GUI1,nodll)
$(call INCL,dataprep)



(Within .\GUI1\dataprep\):

GUI1_ALL:=$(call CANONICAL_PATH,$(GUI1_CONFIG)/GUI1_generated.txt)
GUI1_GWM:=$(call CANONICAL_PATH,$(GUI1_CONFIG)/gwm.xml)
GUI1_SSH:=$(call CANONICAL_PATH,$(GUI1_CONFIG)/ssh.xml)
GUI1_SSH_SUB:=$(call CANONICAL_PATH,$(GUI1_CONFIG)/ssh_sub.xml)
GUI1_SSH_APPROACH:=$(call CANONICAL_PATH,$(GUI1_CONFIG)/ssh_approach.xml)


This would be helpful as new GUIs are added and all the variables in the nested makefile don't have to updated with the new GUI path. The number of GUIs will increase as the project progresses.

Thanks in advance! I know this might sound really novice, but this is the first time I have had to use makefile and really would appreciate the help!
RantRe: Make a general makefile at root to search subdirectories and pick the path variables Pin
CHill6015-Mar-17 5:42
mveCHill6015-Mar-17 5:42 
GeneralRe: Make a general makefile at root to search subdirectories and pick the path variables Pin
Jitesh Varma15-Mar-17 6:57
professionalJitesh Varma15-Mar-17 6:57 
GeneralRe: Make a general makefile at root to search subdirectories and pick the path variables Pin
CHill6015-Mar-17 13:55
mveCHill6015-Mar-17 13:55 
GeneralRe: Make a general makefile at root to search subdirectories and pick the path variables Pin
Jitesh Varma16-Mar-17 3:09
professionalJitesh Varma16-Mar-17 3:09 
QuestionTFS DownloadFiles activity works slowly Pin
andreybedny1-Mar-17 22:44
andreybedny1-Mar-17 22:44 
QuestionCREATING A TABLE Pin
Member 1300689616-Feb-17 21:57
Member 1300689616-Feb-17 21:57 
AnswerRe: CREATING A TABLE Pin
Richard Andrew x6421-Feb-17 7:16
professionalRichard Andrew x6421-Feb-17 7:16 
AnswerRe: CREATING A TABLE Pin
Munchies_Matt4-Mar-17 7:39
Munchies_Matt4-Mar-17 7:39 
AnswerRe: CREATING A TABLE Pin
Gerry Schmitz6-Mar-17 10:04
mveGerry Schmitz6-Mar-17 10:04 
AnswerRe: CREATING A TABLE Pin
ZurdoDev15-Mar-17 6:24
professionalZurdoDev15-Mar-17 6:24 
QuestionUnity in Modular App Pin
aboubkr9015-Feb-17 2:24
professionalaboubkr9015-Feb-17 2:24 
AnswerRe: Unity in Modular App Pin
Pete O'Hanlon15-Feb-17 2:27
mvePete O'Hanlon15-Feb-17 2:27 
GeneralRe: Unity in Modular App Pin
aboubkr9015-Feb-17 2:47
professionalaboubkr9015-Feb-17 2:47 
GeneralRe: Unity in Modular App Pin
Pete O'Hanlon15-Feb-17 3:00
mvePete O'Hanlon15-Feb-17 3:00 
GeneralRe: Unity in Modular App Pin
aboubkr9015-Feb-17 3:18
professionalaboubkr9015-Feb-17 3:18 
GeneralRe: Unity in Modular App Pin
Pete O'Hanlon15-Feb-17 3:21
mvePete O'Hanlon15-Feb-17 3:21 
GeneralRe: Unity in Modular App Pin
aboubkr9015-Feb-17 3:43
professionalaboubkr9015-Feb-17 3:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.