분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
# -*- mode: makefile-gmake; coding: utf-8; -*-
MAKEFLAGS += --no-builtin-rules
MAKEFLAGS += --no-builtin-variables
OBJECTS := libexample.o example0.o
TARGETS := example0
CC := gcc
CFLAGS := -flto -Wall
LDFLAGS := -flto
.PHONY: all debug release clean distclean
all: debug
debug: $(TARGETS)
debug: CFLAGS += -g -O0
release: $(TARGETS)
release: CFLAGS += -O2
release: CPPFLAGS += -DNDEBUG
release: TARGET_ARCH += -march=native -mtune=native -mfpmath=both
clean:
rm -f $(OBJECTS) $(OBJECTS:.o=.d)
distclean: clean
rm -f $(TARGETS)
%: %.o
$(CC) -o $@ $^ $(LDFLAGS) $(TARGET_ARCH) $(LOADLIBES) $(LDLIBS)
%.o: %.c
$(CC) -o $@ -c $< $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH)
%.d: %.c
@$(CC) -MM $(CPPFLAGS) $< | sed 's/\($*\)\.o[ :]*/\1.o $@: /g' > $@
@[ -s $@ ] || rm -f $@
ifneq ($(MAKECMDGOALS), clean)
ifneq ($(MAKECMDGOALS), distclean)
include $(OBJECTS:.o=.d)
endif
endif
$(TARGETS:=.d): %.d: %.c
@$(CC) -MM $(CPPFLAGS) $< | sed 's/\($*\)\.o[ :]*/\1.o $@: /g' > $@
@(for i in $$(sed 's/ /\n/g' $@ | sed -n '/\.h$$/p'); do \
f=$$(basename $$i .h); \
t=$(<:.c=); \
[ $$f == $$t ] || [ ! -e $$f.c ] || echo $$t: $$f.o; \
done) | uniq >> $@
@[ -s $@ ] || rm -f $@
example0: libexample.o
OBJECTS := libexample.o example0.o example1.o example2.o
TARGETS := example0 example1 example2
TARGETS := $(patsubst %.o, %, $(filter example%.o, $(OBJECTS)))
# -*- mode: makefile-gmake; coding: utf-8; -*-
CC := gcc
CFLAGS := -flto -Wall
CPPFLAGS := -I$(ROOTDIR)/include
LDFLAGS := -flto
.PHONY: all debug release clean distclean
all: debug
debug: CFLAGS += -g -O0
release: CFLAGS += -O2
release: CPPFLAGS += -DNDEBUG
release: TARGET_ARCH += -march=native -mtune=native -mfpmath=both
clean:
rm -f $(OBJECTS) $(OBJECTS:.o=.d)
%.d: %.c
@$(CC) -MM $(CPPFLAGS) $< | sed 's/\($*\)\.o[ :]*/\1.o $@: /g' > $@
@[ -s $@ ] || rm -f $@
ifneq ($(MAKECMDGOALS), clean)
ifneq ($(MAKECMDGOALS), distclean)
include $(OBJECTS:.o=.d)
endif
endif
%.o: %.c
$(CC) -o $@ -c $< $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH)
%: %.o
$(CC) -o $@ $^ $(LDFLAGS) $(TARGET_ARCH) $(LOADLIBES) $(LDLIBS)
# -*- mode: makefile-gmake; coding: utf-8; -*-
debug: $(TARGETS)
release: $(TARGETS)
distclean: clean
rm -f $(TARGETS)
$(TARGETS:=.d): %.d: %.c
@$(CC) -MM $(CPPFLAGS) $< | sed 's/\($*\)\.o[ :]*/\1.o $@: /g' > $@
@(for i in $$(sed 's/ /\n/g' $@ | sed -n '/\.h$$/p'); do \
f=$$(basename $$i .h); \
d=$$(dirname $$i); \
[ $$(basename $$d) == include ] && d=$$(dirname $$d)/lib; \
[ $$d == . ] || f=$$d/$$f; \
t=$(<:.c=); \
[ $$f == $$t ] || [ ! -e $$f.c ] || echo $$t: $$f.o; \
done) | uniq >> $@
@[ -s $@ ] || rm -f $@
# -*- mode: makefile-gmake; coding: utf-8; -*-
debug: $(OBJECTS)
release: $(OBJECTS)
distclean: clean
# -*- mode: makefile-gmake; coding: utf-8; -*-
OBJECTS := libexample.o
CURRDIR := $(patsubst %/, %, $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
ROOTDIR := $(abspath $(CURRDIR)/..)
include $(ROOTDIR)/makefiles/common.mk
include $(ROOTDIR)/makefiles/lib.mk
# -*- mode: makefile-gmake; coding: utf-8; -*-
OBJECTS := local_libexample.o example0.o example1.o
TARGETS := example0 example1
CURRDIR := $(patsubst %/, %, $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
ROOTDIR := $(abspath $(CURRDIR)/..)
include $(ROOTDIR)/makefiles/common.mk
include $(ROOTDIR)/makefiles/target.mk
# -*- mode: makefile-gmake; coding: utf-8; -*-
MAKEFLAGS += --no-builtin-rules
MAKEFLAGS += --no-builtin-variables
SUBDIRS := lib src
ROOTDIR := $(patsubst %/, %, $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
.PHONY: all debug release clean distclean
all: debug
debug release clean distclean:
@for i in $(SUBDIRS); do \
$(MAKE) -C $(ROOTDIR)/$$i $@; \
[ $$? == 0 ] || exit 1; \
done
# -*- mode: makefile-gmake; coding: utf-8; -*-
SUBDIRS := test1 test2
CURRDIR := $(patsubst %/, %, $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
.PHONY: all debug release clean distclean
all: debug
debug release clean distclean:
@for i in $(SUBDIRS); do \
$(MAKE) -C $(CURRDIR)/$$i $@; \
[ $$? == 0 ] || exit 1; \
done
ROOTDIR := $(abspath $(CURRDIR)/../..)
죄송합니다. 댓글 작성은 회원만 가능합니다.