1include ../Makefile.conf
2
3MODULES=Main.o ProcessFile.o
4SUBDIRS=kmap mys uni hwd
5CPPFLAGS:=$(CPPFLAGS) -DHAVE_STRTOL
6
7ifeq ($(SPLATFORM),WINDOWS)
8OBJS=$(subst .o,.obj,$(MODULES))
9SLIBS=/libpath:../stoolkit stoolkit.lib
10SWINLIBS=/libpath:../swindow
11MYLIBS=/link /subsystem:CONSOLE $(SWINLIBS) $(SLIBS) $(ALL_LIBS)
12else
13OBJS=$(MODULES)
14SLIBS=-L../stoolkit -lstoolkit
15SWINLIBS=-L../swindow -lswindow
16MYLIBS=$(SWINLIBS) $(SLIBS) $(ALL_LIBS)
17endif
18
19SUBDIRS_all:=$(foreach dir, $(SUBDIRS), $(dir)_all)
20SUBDIRS_clean:=$(foreach dir, $(SUBDIRS), $(dir)_clean)
21
22.PHONY:all clean config  $(SUBDIRS_all) $(SUBDIRS_clean)
23
24all:  mytool $(SUBDIRS_all)
25
26mytool: $(OBJS)
27	$(LD) -o mytool $(OBJS) $(MYLIBS)
28
29%.o:%.cpp
30	$(CXX) -c $(CPPFLAGS) $(subst .o,.cpp,$@)
31
32%.obj:%.cpp
33	$(CXX) -c $(CPPFLAGS) $(subst .obj,.cpp,$@)
34
35$(SUBDIRS_all): mytool
36	$(MAKE) -C $(patsubst %_all,%,$@) all
37
38clean: $(SUBDIRS_clean)
39	rm -f *.o *.obj mytool mytool.exe
40
41depend:
42	$(CXX) -M  $(CPPFLAGS)  $(patsubst %.o,%.cpp,$(OBJS)) > .depend
43
44install:
45	rm -f $(DESTDIR)/$(bindir)/mytool
46	@for i in $(SUBDIRS); do \
47		cd $$i; $(MAKE) install; cd ..; \
48	done
49	$(INSTALL_PROGRAM) mytool $(DESTDIR)/$(bindir)
50	$(INSTALL_DATA) mytool.1 $(DESTDIR)/$(mandir)/man1
51
52$(SUBDIRS_clean):
53	$(MAKE) -C $(patsubst %_clean,%,$@) clean
54
55ifeq (.depend, $(wildcard .depend))
56include .depend
57endif
58