create hw2 and some commit
This commit is contained in:
22
Makefile
22
Makefile
@@ -4,9 +4,8 @@ CFLAGS := -Wall -g -std=c90
|
||||
LDFLAGS := -lm
|
||||
|
||||
LIB_DIR := ./lib/nr/ansi
|
||||
LIB_INCLUDE := $(LIB_DIR)/other
|
||||
LIB_SRCS := $(LIB_DIR)/recipes/machar.c
|
||||
LIB_OBJS := $(patsubst %.c,$(BUILD_DIR)/lib/%.o,$(notdir $(LIB_SRCS)))
|
||||
LIB_INCLUDE := -I$(LIB_DIR)/other
|
||||
|
||||
|
||||
HW_DIR := ./hws
|
||||
|
||||
@@ -15,6 +14,15 @@ ifeq ($(strip $(hw)),)
|
||||
else
|
||||
TARGET_NAME := hw$(hw)
|
||||
SRC_DIR := $(HW_DIR)/hw$(hw)
|
||||
ifeq ($(strip $(hw)),1)
|
||||
LIB_SRCS := $(LIB_DIR)/recipes/machar.c
|
||||
else ifeq ($(strip $(hw)),2)
|
||||
LIB_SRCS := $(LIB_DIR)/other/nrutil.c $(LIB_DIR)/recipes/rtflsp.c $(LIB_DIR)/recipes/rtbis.c $(LIB_DIR)/recipes/rtsec.c $(LIB_DIR)/recipes/rtnewt.c $(LIB_DIR)/recipes/rtsafe.c $(LIB_DIR)/recipes/zbrak.c $(LIB_DIR)/recipes/bessj0.c $(LIB_DIR)/recipes/bessj1.c
|
||||
else
|
||||
LIB_SRCS := ""
|
||||
endif
|
||||
LIB_OBJS := $(patsubst %.c,$(BUILD_DIR)/lib/%.o,$(notdir $(LIB_SRCS)))
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(TARGET_NAME)),)
|
||||
@@ -24,8 +32,10 @@ else
|
||||
TARGET_EXEC := $(BUILD_DIR)/$(TARGET_NAME).out
|
||||
TARGET_SRCS := $(wildcard $(SRC_DIR)/*.c)
|
||||
TARGET_OBJS := $(patsubst %.c,$(BUILD_DIR)/hw$(hw)/%.o,$(notdir $(TARGET_SRCS)))
|
||||
TARGET_INCLUDE := -I$(SRC_DIR)
|
||||
OBJS := $(TARGET_OBJS) $(LIB_OBJS)
|
||||
SRCS := $(TARGET_SRCS) $(LIB_SRCS)
|
||||
INCLUDE := $(TARGET_INCLUDE) $(LIB_INCLUDE)
|
||||
all: run
|
||||
endif
|
||||
|
||||
@@ -43,13 +53,13 @@ build: init $(TARGET_EXEC)
|
||||
|
||||
$(TARGET_EXEC): $(OBJS)
|
||||
@echo "링킹 중: $@"
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
|
||||
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
||||
|
||||
$(OBJS): %.o:
|
||||
@echo "컴파일 중: $@"
|
||||
$(eval TARGET_C_BASENAME := $(patsubst %.o,%.c,$(notdir $@)))
|
||||
$(eval FOUND_SRC := $(foreach src,$(SRCS),$(if $(filter $(TARGET_C_BASENAME),$(notdir $(src))),$(src))))
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -I $(LIB_INCLUDE) -c $(FOUND_SRC) -o $@
|
||||
$(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -c $(FOUND_SRC) -o $@
|
||||
|
||||
run: clean build
|
||||
@echo "실행 시작"
|
||||
@@ -58,4 +68,4 @@ run: clean build
|
||||
|
||||
dist:
|
||||
mkdir -p out
|
||||
zip -j -9 out/$(TARGET_NAME).zip $(TARGET_SRCS)
|
||||
zip -j -9 out/$(TARGET_NAME).zip $(TARGET_SRCS)
|
||||
Reference in New Issue
Block a user