Quantcast
Channel: Active questions tagged gcc - Stack Overflow
Viewing all articles
Browse latest Browse all 22004

makefile place the generated obj into particular folder

$
0
0

I am trying to reorganize my project to put all generated object file in a particular "obj" folder, when I just handle c files I used below makefile and it works fine(I put src1.c in src1 dir,src2.c in src2 dir and src3.c in src3 dir).

vpath %.c srcvpath %.c src2 vpath %.c src3D_OBJ = objCC = gccSRC_C   = src1.c src2.c src3.cOBJ_C   = $(addprefix $(D_OBJ)/,$(patsubst %.c,%.o,$(notdir $(SRC_C))))DEP  = $(addprefix $(D_OBJ)/, $(patsubst %.c,%.d,$(notdir $(SRC_C)))).PHONY: all all:$(OBJ_C) $(D_OBJ)/%.o:%.c     $(CC) -c -Wall  $< -o $@ -MMD -MF $(D_OBJ)\\$*.d -MP -include $(DEP)

currently, I have asm and S files in src1,src2 and src3 called file1.asm file2.asm file3.asm and sfile1.s,sfile2.s and sfile3.s. how can I put all of these files generated .o into obj folder?

I tried below but doesn't work

vpath %.c srcvpath %.c src2 vpath %.c src3vpath %.s srcvpath %.s src2 vpath %.s src3 vpath %.asm srcvpath %.asm src2 vpath %.asm src3 D_OBJ = objCC = gccSRC_C   = src1.c src2.c src3.cSRC_ASM = file1.asm file2.asm file3.asmSRC_S = sfile1.s sfile2.s sfile3.sOBJ_C   = $(addprefix $(D_OBJ)/,$(patsubst %.c,%.o,$(notdir $(SRC_C))))OBJ_S   = $(addprefix $(D_OBJ)/,$(patsubst %.s,%.o,$(notdir $(SRC_S))))OBJ_ASM   = $(addprefix $(D_OBJ)/,$(patsubst %.asm,%.o,$(notdir $(SRC_ASM))))DEP  = $(addprefix $(D_OBJ)/, $(patsubst %.c,%.d,$(notdir $(SRC_C))))DEP += $(addprefix $(D_OBJ)/, $(patsubst %.s,%.d,$(notdir $(SRC_S))))DEP += $(addprefix $(D_OBJ)/, $(patsubst %.asm,%.d,$(notdir $(SRC_ASM)))).PHONY: all all:$(OBJ_C) $(OBJ_ASM) $(OBJ_S)$(D_OBJ)/%.o:%.c     $(CC) -c -Wall  $< -o $@ -MMD -MF $(D_OBJ)\\$*.d -MP $(D_OBJ)/%.o:%.asm     $(CC) -c -Wall  $< -o $@ -MMD -MF $(D_OBJ)\\$*.d -MP $(D_OBJ)/%.o:%.s     $(CC) -c -Wall  $< -o $@ -MMD -MF $(D_OBJ)\\$*.d -MP -include $(DEP)

got error :make: *** No rule to make target obj/file1.o', needed byall'. Stop.
Thank you in advance!


Viewing all articles
Browse latest Browse all 22004

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>