working on Makefiles
git-svn-id: svn://anubis/jcad/trunk@32 c8684bfa-0c3a-0410-9efb-b8c82542f01e
This commit is contained in:
parent
7e0ff79829
commit
3b279c663f
10
Makefile
10
Makefile
@ -1,11 +1,13 @@
|
|||||||
|
|
||||||
CP = cp
|
SHELL := bash
|
||||||
TARGET = jcad
|
export TARGET := jcad
|
||||||
|
export CP := cp -p
|
||||||
|
export RM := rm -f
|
||||||
|
|
||||||
all:
|
all:
|
||||||
$(MAKE) -C src
|
$(MAKE) -C src
|
||||||
$(CP) -p src/$(TARGET) .
|
$(CP) src/$(TARGET) .
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
find . -name '*.d' -exec rm {} ';'
|
|
||||||
$(MAKE) -C src clean
|
$(MAKE) -C src clean
|
||||||
|
-$(RM) $(TARGET)
|
||||||
|
41
src/Makefile
41
src/Makefile
@ -1,26 +1,33 @@
|
|||||||
|
|
||||||
CP := cp
|
SHELL := bash
|
||||||
TARGET := jcad
|
|
||||||
MODULES := main gui engine
|
|
||||||
export GTKMM_VERSION := 2.4
|
export GTKMM_VERSION := 2.4
|
||||||
export GTKGLEXTMM_VERSION := 1.2
|
export GTKGLEXTMM_VERSION := 1.2
|
||||||
CXXFLAGS := -O2
|
|
||||||
LDFLAGS := `pkg-config --libs gtkmm-$(GTKMM_VERSION)` \
|
ifdef WIN32
|
||||||
|
export CPPFLAGS += -I"$(shell cd)"
|
||||||
|
else
|
||||||
|
export CPPFLAGS += -I"$(shell pwd)"
|
||||||
|
endif
|
||||||
|
export CXXFLAGS := -Wall -O2
|
||||||
|
export LDFLAGS := `pkg-config --libs gtkmm-$(GTKMM_VERSION)` \
|
||||||
`pkg-config --libs gtkglextmm-$(GTKGLEXTMM_VERSION)`
|
`pkg-config --libs gtkglextmm-$(GTKGLEXTMM_VERSION)`
|
||||||
ARCHIVES := $(foreach module,$(MODULES),$(module)/$(module).a)
|
|
||||||
|
|
||||||
all: $(MODULES) $(TARGET)
|
SUBDIRS := engine gui main
|
||||||
|
|
||||||
$(TARGET): $(ARCHIVES)
|
all: $(TARGET)
|
||||||
$(CXX) -o $@ $(ARCHIVES) $(LDFLAGS)
|
|
||||||
|
|
||||||
%.o: %.cpp
|
.PHONY: $(TARGET)
|
||||||
$(CXX) -c -o $@ $(CXXFLAGS) $<
|
$(TARGET):
|
||||||
|
@for d in $(SUBDIRS); \
|
||||||
.PHONY: $(MODULES)
|
do $(MAKE) -C $$d; \
|
||||||
$(MODULES):
|
ret=$$?; \
|
||||||
$(MAKE) -C $@
|
if [[ $$ret != 0 ]]; then \
|
||||||
|
exit $$ret; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
$(CXX) -o $@ $(patsubst %,%/*.o,$(SUBDIRS)) $(CXXFLAGS) $(LDFLAGS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) -f *.o *.a *~ $(TARGET)
|
for d in $(SUBDIRS); do $(MAKE) -C $$d clean CLEAN=1; done
|
||||||
for m in $(MODULES); do (cd $$m; $(MAKE) clean ); done
|
-$(RM) $(TARGET)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user