Генерация файла сборки в makefile

0

Я хочу изменить makefile для создания всех файлов сборки. Файл make выглядит следующим образом:

# Compiler and Linker

CC           := gcc
LD           := gcc

# Стандартные библиотеки

CFLAGS_STD: = -g -std = gnu99\-D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE\-Wall -Wno-unused-parameter LDFLAGS_STD: = -lm

# glib

CFLAGS_GLIB  := 'pkg-config --cflags glib-2.0 gmodule-2.0'
LDFLAGS_GLIB := 'pkg-config --libs glib-2.0 gmodule-2.0 gthread-2.0 gobject-2.0'

%.o: %.c %.h
@echo "    [$@]"
$(CC) $(CFLAGS) -c $< 


  CFLAGS = $(CFLAGS_STD) $(CFLAGS_GLIB)


LDFLAGS = $(LDFLAGS_STD) $(LDFLAGS_GLIB) 


OPTTREE_OBJS =  opttree.o \
        optsystem.o \
    optmain.o \
    kdtree.o

OPTTREE=./rrtst
OPTTREE_DEPENDENCIES:=$(OPTTREE_OBJS) $(LDFLAGS_COMMON)

all: $(OPTTREE) 


$(OPTTREE): $(OPTTREE_DEPENDENCIES)
        $(CC) -g -o $@ $(OPTTREE_OBJS) $(LDFLAGS) $(CFLAGS) 


clean:
    rm -f *.o *.a *~ $(OPTTREE) $(OPTSYSTEM_TEST)

Пожалуйста, помогите мне с этим.

С Уважением,

павана

  • 0
    Передайте флаг -S вашему компилятору. А также добавьте rm -f *.s .
  • 0
    Спасибо за повтор. Меня смущает Где я должен пройти флаг -S ?. Я могу создать три файла сборки отдельно от optmain.s, изменив в CFLAGS_STD: = -g -S -std = gnu99 \
Теги:
makefile
gcc

1 ответ

1

Либо добавьте

-S

до конца строки CFLAGS = или

CFLAGS + = -S

где-то еще в Makefile, прежде чем вы нажмете на цель, для которой вы хотите получить сборку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню