2016-03-14 3 views
0

У меня вопрос, в школе мы собираем С этой командой:Псевдоним для вариантов clang?

clang -o filename -O0 -g -std=c99 -Wall -Wextra filename.c 

, и я хотел бы сделать псевдоним такой, как clang-c, который содержит все эти варианты

Я пытался также clang-c='clang -O0 -g -std=c99 -Wall -Wextra', но невозможно например, чтобы установить имя выходного файла.

У вас есть идея?

+4

Но почему вам нужно задать имя выходного файла в псевдониме? Псевдоним обычно содержит только общие параметры, поэтому определите 'alias clang-c = 'clang -O0 -g -std = c99 -Wall -Wextra'', а затем используйте его как' clang-c -o filename filename.c' – CAMOBAP

+1

Или вы может действительно просто использовать Makefile –

+0

, чтобы вы сами познакомились с 'make' или другим инструментом сборки, и вы, вероятно, никогда не будете называть свой компилятор C напрямую для какой-либо нетривиальной программы. – mfro

ответ

0

Я дам вам пример: Makefile

INCPATH = includes/ 
CC = gcc 
CFLAGS = -I $(INCPATH) -Wall -Wextra -pedantic -fPIC -O2 
LDFLAGS = -shared 
TARGET = libmy_malloc_$(HOSTTYPE).so 
LINK_NAME = libmy_malloc.so 
SRC = malloc.c internal.c 

OBJ = $(SRC:.c=.o) 
RM = rm -vf 
LN = ln 

all: $(TARGET) 

$(TARGET): $(OBJ) 
    $(CC) $(CFLAGS) -o $(TARGET) $(OBJ) $(LDFLAGS) 
    $(LN) -s $(TARGET) $(LINK_NAME) 

clean: 
    $(RM) $(OBJ) 

fclean: clean 
    $(RM) $(TARGET) $(LINK_NAME) 

re: fclean all 

Вы можете установить все ваш флаг на CFLAGS линии!

+0

Спасибо, человек, я на самом деле делаю, пока не нахожу то, что хочу, но я ищу псевдоним, на самом деле я использую только один файл на один файл, поэтому .. но спасибо человеку, я буду использовать это :) – rotsix

+0

опубликованный ответ создает библиотеку, а не то, о чем просит ОП. И в ответе, опубликованном в ответ, не хватает нескольких ключевых операторов, таких как: .PHONY: fclean re clean all' И как только строка рецепта $ (CC) создаст связанный файл библиотеки, так зачем нужна дополнительная строка рецепта $ (LN), которая будет делать немного изменив имя библиотеки? – user3629249

Смежные вопросы