|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2005
Città: Bordeaux - France
Messaggi: 364
|
[Makefile] Creare una cartella
Ho scritto il makefile in maniera che tutti i file generati durante la costruzione del progetto siano messi in una cartella apposita, chiamata Build. In particolare:
Codice:
install: all install $(TARGET) `${TULIP_CONFIG} --pluginpath` all: $(TARGET) clean : rm -f $(BUILD_DIR)* $(TARGET): $(QRCS_SRCS) $(OBJS) $(CXX) $(OBJS) -o $@ $(LDFLAGS) $(LIBS) $(BUILD_DIR)%.o: %.cpp $(CXX) -c $(CXXFLAGS) -o $@ $< $(BUILD_DIR)%.cpp: %.qrc rcc -name $(PLUGIN) -o $@ $< $(BUILD_DIR)%.d: %.cpp $(CXX) -M $(CXXFLAGS) $< | sed 's!\($*\)\.o[ :]*!\1.o $@ : !g' > $@; [ -s $@ ] || rm $@ L'unico problema è che la directory Build dev'essere già presente, altrimenti non si riesce a far nulla. Come posso fare a creare la cartella (qualora non esista) quando viene chiamato make?
__________________
- fuocofatuo - |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 558
|
fai una regola che ti crea la dir:
Codice:
makedir: mkdir -p $(BUILD_DIR) Codice:
$(TARGET): makedir $(QRCS_SRCS) $(OBJS) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2005
Città: Bordeaux - France
Messaggi: 364
|
Grande. Avevo provato senza il -p, con soluzioni più complicate per testare se la directory esisteva, ma non funzionava.
Ora però ho un altro problema. Le regole dei .d mi partono prima della creazione della directory. Come posso fare per impedirlo?
__________________
- fuocofatuo - |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:35.