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